如何获取部分有序数据,但避免一次又一次地对请求进行排序?

时间:2013-05-12 19:20:13

标签: mysql sql performance web-applications

我的结果集太大而无法在一个页面中显示。所以我决定在页面中显示它。好的,到目前为止 现在我需要将结果显示为已排序。因此查询将类似于:

SELECT * FROM TABLE  
WHERE CONDITIONS  
ORDER BY COL  
LIMIT OFFSET, SIZE;  

现在这将订购,然后给出我将显示为页面的部分(我对第一个订单是正确的,然后应用limit,正确)?

但如果我这样做,对于每个页面请求,结果将一次又一次地排序,对吗? 所以这很糟糕。有没有标准的解决方案?
我假设COL上的索引会有所改进,但我想知道是否有标准的最佳做法。

1 个答案:

答案 0 :(得分:2)

我会说标准方法是使用索引。我肯定会在列col中添加一个索引,然后将其作为条件的一部分。当你有索引时,它不会反复排序,因为索引已经排序了。