`

经典分享MySQL的limit查询优化

阅读更多
以下的文章主要是对MySQL limit查询优化的具体内容的介绍,我们大家都知道MySQL数据库的优化是相当重要的。其他最为常用也是最为需要优化的就是limit。MySQL的limit给分页带来了极大的方便,但数据量一大的时候,limit的性能就急剧下降。

  同样是取10条数据


select * from yanxue8_visit limit 10000,10       select * from yanxue8_visit limit 0,10   

  就不是一个数量级别的。

  网上也很多关于limit的五条优化准则,都是翻译自MySQL手册,虽然正确但不实用。今天发现一篇文章写了些关于limit优化的,很不错。

  文中不是直接使用limit,而是首先获取到offset的id然后直接使用limit size来获取数据。根据他的数据,明显要好于直接使用limit。这里我具体使用数据分两种情况进行测试。(测试环境win2033+p4双核 (3GHZ) +4G内存MySQLlimit查询)//河北折扣网

  1、offset比较小的时候


1.select * from yanxue8_visit limit 10,10  

  多次运行,时间保持在0.0004-0.0005之间


Select * From yanxue8_visit Where vid >=(      Select vid From yanxue8_visit Order By vid limit 10,1  ) limit 10  

  多次运行,时间保持在0.0005-0.0006之间,主要是0.0006

  结论:偏移offset较小的时候,直接使用MySQL limit较优。这个显然是子查询的原因。

  2、offset大的时候


select * from yanxue8_visit limit 10000,10  

  多次运行,时间保持在0.0187左右


Select * From yanxue8_visit Where vid >=(      Select vid From yanxue8_visit Order By vid limit 10000,1  ) limit 10   

  多次运行,时间保持在0.0061左右,只有前者的1/3。可以预计offset越大,后者越优。

  以后要注意改正自己的limit语句,优化一下MySQL了

  推荐人评论

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

  以上的相关内容就是对MySQLlimit查询优化 的介绍,望你能有所收获。
分享到:
评论

相关推荐

    mysql分页的limit参数简单示例

    Mysql的分页的两个参数 select * from user limit 1,2 ... 您可能感兴趣的文章:详解MySQL的limit用法和分页查询语句的性能分析MYSQL分页limit速度太慢的优化方法mysql limit分页优化方法分享Mysql limit

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

    今天小编就为大家分享一篇关于MySQL Limit性能优化及分页数据性能优化详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    mysql limit分页优化方法分享

    今天发现一篇文章写了些关于limit优化的,很不错。 文中不是直接使用limit,而是首先获取到offset的id然后直接使用limit size来获取数据。根据他的数据,明显要好于直接使用limit。这里我具体使用数据分两种情况进行...

    mysql慢查询优化之从理论和实践说明limit的优点

    今天小编就为大家分享一篇关于mysql慢查询优化之从理论和实践说明limit的优点,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

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

    下面作者将要和大家分享一下MySQL数据库中的查询语句有关limit语句的优化。 大家都知道一般limit是用在分页的程序的分页上的,当你的应用数据量够小的时候,也许你感觉不到limit语句的任何问题,但当查询数据量达到...

    mysql 前几条记录语句之(limit)

    您可能感兴趣的文章:Mysql limit 优化,百万至千万级快速分页 复合索引的引用并应用于轻量级框架mysql limit分页优化方法分享使用Limit参数优化MySQL查询的方法mysql limit查询优化分析Mysql中limit的用法方法详解...

    如何提高MySQL Limit查询性能的方法详解

    今天小编就为大家分享一篇关于如何提高MySQL Limit查询性能的方法详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    php+mysql查询优化简单实例

    因此,需要做好对mysql的查询优化,下面通过一个简单的例子,展现不同的SQL语句对于查询速度的影响. 存在这样的一张表test,它有一个自增的id作为主索引,现在要查询id号处于某一个范围内的记录,可以使用如下SQL语句: ...

    MySQL性能优化的21个最佳实践.pdf

    1. 为查询缓存优化你的查询 2. EXPLAIN 你的 SELECT 查询 3. 当只要一行数据时使用 LIMIT 1 4. 为搜索字段建索引 5. 在 Join 表的时候使用相当类型的例,并将其索引 6. 千万不要 ORDER BY RAND() 7. 避免 SELECT * 8...

    MySQL limit性能分析与优化

    今天小编就为大家分享一篇关于MySQL limit性能分析与优化,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    MySQL 百万级分页优化(Mysql千万级快速分页)

    以下分享一点我的经验 一般刚开始学SQL的时候,会这样写 代码如下: SELECT * FROM table ORDER BY id LIMIT 1000, 10; 但在数据达到百万级的时候,这样写会慢死 代码如下: SELECT * FROM table ORDER BY id LIMIT ...

    mysql千万级数据分页查询性能优化

    本文给大家分享的是作者在使用mysql进行千万级数据量分页查询的时候进行性能优化的方法,非常不错的一篇文章,对我们学习mysql性能优化非常有帮助

    mysql查询时offset过大影响性能的原因和优化详解

    主要给大家介绍了关于mysql查询时offset过大影响性能的原因和优化的相关资料,并在文末跟大家分享了MYSQL中limit,offset的区别,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧

    mysql获取group by总记录行数的方法

    本文实例讲述了mysql获取group by总记录行数的方法,分享给大家供大家参考。具体方法分析如下: 一般来说,mysql获取group by内部可以获取到某字段的记录分组统计总数,而无法统计出分组的记录数。 mysql中可以使用...

    MySQL高效分页解决方案集分享

    一,最常见MYSQL最基本的分页方式: 代码如下:select * from content order by id desc limit 0, 10在中小数据量的情况下,这样的SQL足够用了,唯一需要注意的问题就是确保使用了索引。随着数据量的增加,页数会...

    mysql中RAND()随便查询记录效率问题和解决办法分享

    最近由于需要大概研究了一下MYSQL的随机抽取实现方法。举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。 有两个方法可以达成以上效果. 1.新建...

    MySQL 的 21 个规范、优化最佳实践!

    每一个好习惯都是一笔财富,本文分 SQL 后悔药,SQL 性能优化,SQL 规范优雅三个方向,分享写 SQL 的 21 个好习惯和最佳实践! 写完SQL先explain查看执行计划(SQL性能优化) 日常开发写 SQL 的时候,尽量养成这个好...

    mysql分页时offset过大的Sql优化经验分享

    通常分页查询的时候会使用这样的语句: SELECT * FROM table where condition1 = 0 and condition2 = 0 and condition3 = -1 and condition4 = -1 order by id asc LIMIT 2000 OFFSET 50000 当offset特别大时,这...

    Mysql自带profiling性能分析工具使用分享

    3. 执行SQL查询  例:select goods_name from ecs_goods where goods_id <5000;   show profiles;   4. show profile for query 4;   show profile 的格式如下: SHOW PROFILE [type [, type] … ]  [FOR ...

Global site tag (gtag.js) - Google Analytics