我需要从数据库中选择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:
这是一个大表(很多行),这就是为什么我需要一个索引来加速这个过程.
索引与您选择的列数(不包括FULLTEXT)相比没有性能inpact.它们仅用于在使用选择(WHERE)和有时订购(ORDER BY)和聚合(GROUP BY等)时加速.
在这种情况下,您需要在X和Z上定义索引以获得最佳效率.因为MySQL每个查询只能使用1个索引,所以你需要一个索引(X,Z)(因为X上的选择是第一个,然后在Z上排序).请注意,这也是X的索引.
此外,包含所有列的索引几乎与表条目相同(尽管已排序),因此您不会从中获得很多SELECT性能改进,而INSERT/UPDATE/DELETE性能将直线下降.
| 归档时间: |
|
| 查看次数: |
153 次 |
| 最近记录: |