`
化蝶自在飞
  • 浏览: 2330014 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

mysql limit用法 mysql limit速度查询优化

阅读更多
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内存 mysql 5.0.19)

1、offset比较小的时候。

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较小的时候,直接使用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越大,后者越优。

来源:一亩三分地博客.
2
0
分享到:
评论
1 楼 hujienihaoya 2010-05-28  
虽然我爱知识,但我更爱美女

相关推荐

    MYSQL分页limit速度太慢的优化方法

    以下是一些针对MySQL `LIMIT` 分页速度慢的优化方法: 1. **避免大`OFFSET`值**: 当`OFFSET`值很大时,MySQL会跳过很多行才能到达需要返回的数据。例如,`LIMIT 200000, 10`需要扫描200010行,这是非常低效的。...

    mysql分页的limit参数简单示例

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

    MySQL数据库查询优化

    第3课 查询优化技术理论与MySQL实践(一)------子查询的优化(一) 第4课 查询优化技术理论与MySQL实践(二)------子查询的优化(二) 从理论看,子查询包括的内容和范围,建立清晰的概念 从实践看,MySQL的子查询...

    sql语句中select top n与oracle的rownum与mysql的limit用法

    sql语句中select top n与oracle的rownum与mysql的limit 取前几条数据sql简单用法

    limit传参的使用方法

    在MySQL数据库操作过程中,`LIMIT`子句是非常实用的一个功能,尤其是在需要限制查询结果集大小的情况下。本文将详细介绍如何在MySQL中使用`LIMIT`结合参数化查询来实现灵活且安全的数据检索。 #### 一、基础知识...

    mysql分页之limit优化技巧

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

    详解mysql的limit经典用法及优化实例

    理解`LIMIT`的不同用法和其潜在的性能问题对优化MySQL查询至关重要。在处理大数据量时,应尽量避免使用大偏移量,而是采用子查询或其他优化策略来提高查询效率。对于分页需求,可以考虑存储分页信息(如上一页或...

    Mysql Limit 分页查询优化详解

    总的来说,MySQL LIMIT分页查询的优化主要集中在减少不必要的行扫描、利用索引以及采用更适合大数据量的查询策略。通过这些方法,可以显著提升分页查询的性能,尤其是对于那些需要跳过多行的情况。在实际应用中,应...

    mysql limit查询优化分析

    Limit语法: 复制代码 代码如下:SELECT * FROM table LIMIT [offset,] rows | rows OFFSET ...为了与 PostgreSQL 兼容,MySQL 也支持句法:LIMIT # OFFSET #。 eg: 复制代码 代码如下:mysql> SELECT * FROM table L

    mysql limit两个参数的四种用法

    总结,理解并熟练掌握`LIMIT`子句的不同用法是优化MySQL查询和实现高效分页的关键。通过结合适当的`OFFSET`和`LIMIT`,我们可以有效控制返回的结果集,提高查询性能,并为用户提供流畅的浏览体验。

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

    在MySQL数据库中,分页是实现大量数据查询时不可或缺的功能,它可以帮助用户按需加载数据,提高网页加载速度,减少服务器资源消耗。本篇文章将详细探讨两种常见的分页方法:假分页和LIMIT分页。 首先,我们来理解...

    mysql优化limit查询语句的5个方法

    mysql的分页比较简单,只需要limit offset,length就可以获取数据了,但是当offset和length比较大的时候,mysql明显性能下降 1.子查询优化法 先找出第一条数据,然后大于等于这条数据的id就是要获取的数据 缺点:...

    MySQL数据库优化SQL篇PPT课件.pptx

    从执行计划、SELECT语句、IN和EXIST语句、LIMIT语句、RAND函数、Order by、Group by、Distinct和Count等方面对MySQL数据库优化进行了详细的讲解。 一、执行计划 执行计划是MySQL数据库优化的重要步骤。执行计划...

    提升MYSQL查询效率的10个SQL语句优化技巧.doc

    "MYSQL 查询效率优化技巧" ...查询优化器可以帮助你优化查询语句,例如,rearranging the order of tables in a multi-table query. 通过应用这些技巧,你可以提高 MySQL 查询效率,提高程序的执行速度。

    mysql limit分页优化详细介绍

    MySQL中的`LIMIT`子句是执行分页查询的关键,它...通过合理优化查询语句,结合索引策略,我们可以显著改善分页查询的性能。对于需要深度分页的应用,可以考虑采用文中提到的优化方法或探索其他高性能的分页解决方案。

    Mysql优化 PPT

    优化查询还可以通过预编译SQL语句,使用存储过程或视图来提高效率。 其次,索引策略对数据库性能影响深远。PPT可能涵盖如何选择合适的索引类型(如B-TREE、HASH或全文索引),何时使用唯一索引,以及如何避免索引...

    基于MySQL的数据库查询性能优化.pdf

    通过大量的实验测试,我们发现,适当的数据表索引、SQL 查询语句中的 "limit" 和 "*" 优化、id 限定分页查询和查询缓存技术可以大大提高数据库的响应速度。 结论 本文总结了数据库查询性能优化的重要性和影响...

Global site tag (gtag.js) - Google Analytics