`

mysql limit字句

阅读更多
在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。
SELECT * FROM table  LIMIT [offset,] rows | rows OFFSET offset 



LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。

mysql> SELECT * FROM table LIMIT 5,10;  // 检索记录行 6-15   
  
//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:    
mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.   
  
//如果只给定一个参数,它表示返回最大的记录行数目:    
mysql> SELECT * FROM table LIMIT 5;     //检索前 5 个记录行   
  
//换句话说,LIMIT n 等价于 LIMIT 0,n。



MYSQL limit的优化
同样是取10条数据
select * from yanxue8_visit limit 10000,10  

select * from yanxue8_visit limit 0,10
就不是一个数量级别的。
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越大,后者越优。 
分享到:
评论

相关推荐

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

    MySQL中的分页查询是Web应用中常见的操作,但随着数据量的增长,`LIMIT`语句在处理大量数据时性能会显著下降。特别是当`OFFSET`值增大时,MySQL需要扫描更多的行来找到需要的数据,这可能导致查询速度变慢,甚至对...

    mysql分页的limit参数简单示例

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

    limit传参的使用方法

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

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

    相比之下,LIMIT分页是MySQL数据库内置的分页机制,它在服务器端直接处理分页,只返回所需页面的数据。LIMIT关键字与ORDER BY一起使用,可以实现高效的数据分页。例如,`SELECT * FROM table ORDER BY column LIMIT ...

    mysql limit两个参数.docx

    在MySQL数据库中,`LIMIT`子句是一个非常重要的部分,特别是在处理大数据集时,它允许我们有效地控制查询结果的返回数量。`LIMIT`通常与`OFFSET`一起使用,以实现分页效果,使得用户能够逐步浏览大量数据,而无需一...

    mysql limit分页优化详细介绍

    MySQL中的LIMIT子句是用于实现数据分页查询的关键部分,特别是在处理大量数据时。然而,随着数据量的增长,LIMIT的性能问题变得尤为突出。本文将深入探讨如何优化MySQL中的LIMIT分页查询,以提高数据库查询效率。 ...

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

    MySQL中的`LIMIT`子句是用于在查询结果集中限制返回行数的关键字,这对于实现分页功能至关重要。本文将深入探讨`LIMIT`的几种经典用法以及如何对其进行优化,特别是针对大数据量时性能的提升。 **用法一:指定开始...

    Mysql Limit 分页查询优化详解

    MySQL中的LIMIT子句常用于实现分页查询,它允许我们从结果集中选择特定数量的行。在处理大量数据时,不恰当的分页查询可能会导致性能下降,因为MySQL需要扫描和处理更多的行。本篇文章将深入探讨如何优化使用LIMIT...

    mysql limit两个参数的四种用法

    MySQL中的`LIMIT`子句是查询结果集控制的关键部分,特别是在处理大数据量时,它能够有效地帮助我们获取所需的数据片段,而不是返回整个结果集。在MySQL中,`LIMIT`可以接受一个或两个参数,用于限制返回的记录数或...

    Mysql_limit.zip_limit

    在MySQL数据库系统中,`LIMIT`子句是一个非常重要的部分,它用于限制SQL查询返回的结果集数量。在处理大量数据时,`LIMIT`是优化查询性能、避免过度消耗资源的有效手段。下面我们将深入探讨`LIMIT`子句的工作原理,...

    使用limit,offset分页场景时为什么会慢

    更糟糕的是,由于MySQL的存储引擎层与服务器层分离,`LIMIT`和`OFFSET`无法直接作用于数据,因此即使大部分数据会被丢弃,引擎层仍需处理这些额外的I/O操作。 为了提高效率,我们可以考虑以下解决方案: 1. **方案...

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

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

    mysql分页之limit优化技巧

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

    mysql limit查询优化分析

    MySQL中的LIMIT查询是一个非常常用的分页查询功能,它可以帮助开发者从大量的数据集中提取特定范围的记录。尽管LIMIT在进行数据分页时非常便捷,但在处理大数据量时,LIMIT查询可能会遇到性能瓶颈,特别是在涉及到大...

    MySQL limit性能分析与优化

    语法结构: limit offset, rows 结论:rows 相同条件下,offset 值越大,limit 语句性能越差 二、测试 执行测试: 5750000 条数据 sql 1 执行时间: sql 6执行时间: 三、优化 方式一:可根据主键ID等其他索引字段...

    浅谈mysql使用limit分页优化方案的实现

    Mysql limit分页语句用法 与Oracle和MS SqlServer相比,mysql的分页方法简单的让人想哭。 –语法: SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset –举例: select * from table limit 5; --...

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

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

Global site tag (gtag.js) - Google Analytics