【问题标题】:MySQL Pagination - Should sorting be cached?MySQL Pagination - 是否应该缓存排序?
【发布时间】:2011-11-27 05:12:51
【问题描述】:

我找不到这方面的任何信息,所以要么是 MySQL 处理了这个,因此不是问题,要么我使用了错误的关键字:

如果有人想对 MySQL 结果进行排序,我应该在某处有缓存的排序版本,还是应该使用 ORDER BY 子句进行查询?有没有更好的方法来做到这一点,这样用户就不会在每次更改页面时都对数千行进行排序?

【问题讨论】:

    标签: mysql caching sorting pagination


    【解决方案1】:

    您应该在希望订购的列上create an index

    请参阅文档 ORDER BY Optimization,了解 MySQL 何时可以使用索引来提高 ORDER BY 的查询性能。

    【讨论】:

      【解决方案2】:

      您应该在要排序的列上创建一个“带有排序标准”的索引。

      这是创建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)
      

      【讨论】:

        猜你喜欢
        • 2013-05-04
        • 2017-01-19
        • 2017-10-30
        • 1970-01-01
        • 2010-12-27
        • 2016-06-20
        • 2020-12-08
        • 1970-01-01
        • 2021-11-13
        相关资源
        最近更新 更多