如何使用使用分页查询来适应挖掘海量数据呢

金缕舞衣宽 1个月前 已收到1个回答 举报

还徘徊 1星

共回答了102个问题采纳率:93.2% 评论

分页查询一般 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;这样查询时间基本固定,不会随着数据量的增长而发生变化。

17小时前

12
可能相似的问题

热门问题推荐

Copyright © 2024 微短问答 All rights reserved. 粤ICP备2021119249号 站务邮箱 service@wdace.com