`
freeheron
  • 浏览: 67422 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

原来可以这样优化数据量大时mysql中limit的查询

阅读更多

一直来,系统中总有几百万的数据,变态的QA总是要测试几十万页的翻页。对于Mysql来说,翻到几十万页之后,常规的查询的肯定会慢了。还好用户不会这样去用。只有QA才会提这种‘无礼’的要求。

对于查询:

    select * from table limit 1000000,20

当然会慢得不行了。

现在终于发现了,还可以这样改写:

   select * from table a,(select id from table limit 1000000,20) b where a.id=b.id

这样就快得不是一点半点了。以前真是笨了^_^

 


看来,使用MySQL,还是得多动动脑筋来重写SQL来改善查询性能的。

分享到:
评论
3 楼 qingfeng825 2011-09-02  
我看懂了,
虽然文章不多,但是质量还蛮高的,
坚持写啊。
2 楼 uule 2011-08-31  
也没看懂。。。
1 楼 Durian 2011-08-31  
没看懂

相关推荐

    mysql分页之limit优化技巧

    本文档针对mysql分页之limit慢的问题,使用联合索引在大数据量的情况下优化limit分页的性能

    mysql分页查询优化,大数据量优化

    传统的mysql分页查询 ...特别是上线后数据量积累比较快,必须重视SQL优化,否则影响系统运行和用户使用体验 性能实验 直接用limit start, count分页语句, 也是我程序中用的方法: select * from table lim

    mysql limit查询优化分析

    MYSQL的优化是非常重要的。其他最常用也最需要优化的就是limit。mysql的limit给分页带来了极大的方便,但数据量一大的时候,limit的性能就急剧下降

    MySQL百万级数据量分页查询方法及其优化建议

    数据库SQL优化是老生常谈的问题,在面对百万级数据量的分页查询,又有什么好的优化建议呢?下面将列举了一些常用的方法,供大家参考学习! 方法1: 直接使用数据库提供的SQL语句 语句样式: MySQL中,可用如下方法: ...

    Mysql优化技巧之Limit查询的优化分析

    但是当数据量大的时候,或者查询offset数量比较大的时候,如:limit 100000,20效率往往就不尽人意了。通常的一个办法就是Limit配合order by,如果order by有对用户的索引的话,效率通常是比较不错的。 对于这种...

    C#在MySQL大量数据下的高效读取、写入详解

    最近由于工作的原因,经常需要对海量数据进行处理,做的数据爬虫相关,动辄千万级别的数据,单表几十个G 都是都是家常便饭。 那么主要的开发语言是C#,数据库使用的是MySQL。下面通过这篇文章我们来一起学习学习吧。

    MySQL对limit查询语句的优化方法

    大家都知道一般limit是用在分页的程序的分页上的,当你的应用数据量够小的时候,也许你感觉不到limit语句的任何问题,但当查询数据量达到一定程度的时候,limit的性能就会急剧下降。这个是通过大量实例得出来的结论...

    MySQL limit分页大偏移量慢的原因及优化方案

    在 MySQL 中通常我们使用 limit 来完成页面上的分页功能,但是当数据量达到一个很大的值之后,越往后翻页,接口的响应速度就越慢。 本文主要讨论 limit 分页大偏移量慢的原因及优化方案,为了模拟这种情况,下面首先...

    MYSQL优化详情大全

    分页查询优化:对于大数据量的分页查询,可以使用LIMIT分页,并确保使用适当的索引以提高查询速度。 避免频繁的连接和断开:频繁的连接和断开对数据库性能影响较大,可以使用连接池来管理数据库连接,减少连接开销...

    MySQL Limit性能优化及分页数据性能优化详解

    MySQL Limit可以分段查询数据库数据,主要应用在分页上。虽然现在写的网站数据都是千条级别,一些小的的优化起的作用不大,但是开发就要做到极致,追求完美性能。下面记录一些limit性能优化方法。 Limit语法: ...

    mysql limit分页优化详细介绍

    MySQL最常用也最需要优化的就是limit,MySQL的limit给分页带来了极大的方便,但数据量一大的时候,limit的性能就急剧下降,需要的朋友可以参考下

    (mysql面试题)MySQL中的优化技巧,如查询优化、索引优化及代码展示.txt

    通过将查询条件放在WHERE子句中,并使用ORDER BY和LIMIT限制结果集大小,可以减少数据传输量,提高查询效率。 - 接下来,我们展示了如何为id和score字段创建索引,以及如何删除不必要的索引。创建合适的索引可以加快...

    MySQL中的回表查询与索引覆盖:一次百万级别分页查询使用Limit 从90秒到0.6毫秒的优化

    数据库使用的MySQL,有一个日志表,需要进行分页查询,于是很容易就想到了limit [offset偏移量] [count数量]这个查询方式,当我们偏移量比较小时,似乎是没什么问题 SELECT * FROM t_log WHERE type = 1 LIMIT 5, 50 ...

    浅谈MySQL分页Limit的性能问题

    MySQL的分页查询通常通过limit来实现。...优化思想:避免数据量大时扫描过多的记录 解决:子查询的分页方式或者JOIN分页方式。JOIN分页和子查询分页的效率基本在一个等级上,消耗的时间也基本一致。 下面举个例子。一

    关于Mysql分页的两种方法,假分页和limit分页

    关于Mysql分页的两种方法,一种假分页,没有效率提高,另一种使用limit,对数据量小的情况下效率会高点

    MySQL中文参考手册.chm

    10.5.2 SELECT 查询的速度 10.5.3 MySQL 怎样优化WHERE子句 10.5.4 MySQL 怎样优化LEFT JOIN 10.5.5 MySQL 怎样优化LIMIT 10.5.6 INSERT查询的速度 10.5.7 UPDATE查询的速度 ...

    MySQL 5.1中文手冊

    7.2.14. MySQL如何优化LIMIT 7.2.15. 如何避免表扫描 7.2.16. INSERT语句的速度 7.2.17. UPDATE语句的速度 7.2.18. DELETE语句的速度 7.2.19. 其它优化技巧 7.3. 锁定事宜 7.3.1. 锁定方法 7.3.2. 表锁定事宜 7.4. ...

    MySQL优化教程之超大分页查询

    但是一旦数据量起来了,其实LIMIT的效率会极其的低,这一篇文章就来讲一下LIMIT子句优化的。 LIMIT优化 很多业务场景都需要用到分页这个功能,基本上都是用LIMIT来实现。 建表并且插入200万条数据: # 新建一张t5表...

    MySql基本查询、连接查询、子查询、正则表达查询讲解

    查询数据是指从数据库中的数据表或视图中获取所需要的数据,在mysql中,可以使用SELECT语句来查询数据。根据查询条件的不同,数据库系统会找到不同的数据。 SELECT语句的基本语法格式如下: [sql] view plain copy ...

Global site tag (gtag.js) - Google Analytics