我找不到任何关于此的信息,所以要么MySQL处理这个问题,因此没有问题,或者我使用了错误的关键字:
如果有人想要对MySQL结果进行排序,我应该在某个地方使用某种缓存版本,还是应该使用ORDER BY子句进行查询?有没有更好的方法来做到这一点,以便用户每次更改页面时都不会排序数千行?
答案 0 :(得分:1)
您希望订购的列上应create an index。
请参阅文档ORDER BY
Optimization,了解MySQL何时可以使用索引来提高ORDER BY
查询的性能。
答案 1 :(得分:1)
您应该在要排序的列上创建“具有排序条件”的索引。
这是创建mysql索引的语法:
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
[index_type]
ON tbl_name (index_col_name,...)
[index_type]
index_col_name:
col_name [(length)] [ASC | DESC]
因此,如果您经常检索按some_column
订购DESC
排序的某些数据,您应该:
CREATE INDEX my_index ON my_table (some_column DESC)