为了账号安全,请及时绑定邮箱和手机立即绑定

mysql如何对海量数据进行价格排序分页?

mysql如何对海量数据进行价格排序分页?

30秒到达战场 2018-11-22 11:07:09
mysql如何对海量数据进行价格排序分页
查看完整描述

1 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

分页查询一般 DBA 想到的办法是在某个(如ID,create_time)字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。
因为如果当 LIMIT 子句变成 “LIMIT 1000000,10” 时,你会抱怨:我只取10条记录为什么还是慢?
要知道数据库也并不知道第1000000条记录从什么地方开始,即使有索引也需要从头计算一次。出现这种性能问题,多数情形下是程序员偷懒了。在前端数据浏览翻页,或者大数据分批导出等场景下,是可以将上一页的最大值当成参数作为查询条件的。SQL 重新设计如下:
SELECT *
FROM 表
WHERE create_time > '2017-07-04 09:00:00'
ORDER BY create_time limit 10;
这样查询时间基本固定,不会随着数据量的增长而发生变化。

查看完整回答
反对 回复 2018-12-06
  • 1 回答
  • 0 关注
  • 566 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信