|MySQL数据量大时limit往后会速度变慢

当数据量特别大的时候,我们有如下SQL:

SELECT * FROM t LIMIT 10000,10

当数据量有上百万的时候,这种查询是很慢的。但我们将 * 改为索引字段时:

SELECT ID FROM t LIMIT 10000,10
# 这种查询就会很快。

那么我们需要将SQL改造如下:

SELECT * FROM t WHERE ID IN (SELECT ID FROM t LIMIT 10000,10)

然后现在速度就快了起来。当然也可以改造为如下:

SELECT * FROM t JOIN (SELECT ID FROM t LIMIT 10000,10) t1 ON t1.id = t.id
# 这样来同样会很快。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL数据库中的数据增加,查询速度可能。这是因为MySQL需要扫描更多的数据行或者进行更多的磁盘IO操作来获取匹配的结果。以下是一些可行的解决方案来提高查询速度: 1. 索引优化:确保表中的列使用适当的索引。使用索引可以减少数据扫描的数,从而加快查询速度。通过分析查询语句和表结构,确定是否需要添加、修改或删除索引。 2. 分区表:将大表分解为多个较小的分区表。这样可以将数据分布在不同的物理位置上,减少查询需要扫描的数据。 3. 查询优化:优化查询语句,避免全表扫描和不必要的连接操作。使用合适的查询条件、避免使用通配符查询和使用子查询等方式来改进查询性能。 4. 缓存机制:使用数据库缓存(如MySQL的查询缓存)来缓存常用的查询结果,减少数据库访问次数。 5. 硬件升级:增加服务器的内存、CPU和磁盘等硬件资源,提高数据库处理能力。 6. 数据归档和清理:对于不再需要的历史数据,可以考虑进行数据归档和清理,以减少数据库的数据。 7. 数据库参数调优:根据实际情况调整MySQL的配置参数,如增大缓冲区大小、调整并发连接数等,以优化数据库的性能。 需要根据具体情况进行分析和调整,可以使用MySQL提供的性能分析工具(如Explain、Slow Query Log等)来帮助定位查询问题,并采取相应的优化措施。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值