我找不到这方面的消息,所以无论是MySQL的处理这个问题,因此是一个非问题或我使用了错误的关键字:MySQL分页 - 应该排序缓存?
如果有人想MySQL的结果进行排序,我应该有一个缓存某种地方排序的版本,还是应该使用ORDER BY子句进行查询?有没有更好的方法来做到这一点,以便用户每次更改页面时都不会对数千行进行排序?
我找不到这方面的消息,所以无论是MySQL的处理这个问题,因此是一个非问题或我使用了错误的关键字:MySQL分页 - 应该排序缓存?
如果有人想MySQL的结果进行排序,我应该有一个缓存某种地方排序的版本,还是应该使用ORDER BY子句进行查询?有没有更好的方法来做到这一点,以便用户每次更改页面时都不会对数千行进行排序?
你应该在create an index想要订购的列上。
查看文档ORDER BY
Optimization了解MySQL何时可以使用索引来提高查询的性能,其中包括ORDER BY
。
您应该在要排序的列上创建一个带有排序条件的索引。
这是创建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)