从mysql数据库中选择多个colums的最快方法是什么?

Bas*_*nWW 1 php mysql

我需要从数据库中选择25列,条件为WHERE和ORDER BY.

我尝试为此制作索引,但仅限于16列.我如何组织mysql语句和数据库,以便以最快的方式从PHP中的数据库中选择这25列?

示例表:

列:A,B,C,D,E,F,....

查询:"SELECT A,B,C,D,E,F,... FROM表WHERE X = 5 ORDER BY Z"

更新1:

这是一个大表(很多行),这就是为什么我需要一个索引来加速这个过程.

dte*_*ech 7

索引与您选择的列数(不包括FULLTEXT)相比没有性能inpact.它们仅用于在使用选择(WHERE)和有时订购(ORDER BY)和聚合(GROUP BY等)时加速.

在这种情况下,您需要在X和Z上定义索引以获得最佳效率.因为MySQL每个查询只能使用1个索引,所以你需要一个索引(X,Z)(因为X上的选择是第一个,然后在Z上排序).请注意,这也是X的索引.

此外,包含所有列的索引几乎与表条目相同(尽管已排序),因此您不会从中获得很多SELECT性能改进,而INSERT/UPDATE/DELETE性能将直线下降.