在一些情况中,当你使用LIMIT row_count而不使用HAVING时,MySQL将以不同方式处理查询。

·         如果你用LIMIT只选择一些行,当MySQL选择做完整的表扫描时,它将在一些情况下使用索引。

·         如果你使用LIMIT row_count与ORDER BY,MySQL一旦找到了排序结果的第一个row_count行,将结束排序而不是排序整个表。如果使用索引,将很快。如果必须进行文件排序(filesort),必须选择所有匹配查询没有LIMIT子句的行,并且在确定已经找到第1个row_count行前,必须对它们的大部分进行排序。在任何一种情况下,一旦找到了行,则不需要再排序结果的其它部分,并且MySQL不再进行排序。

·         当结合LIMIT row_count和DISTINCT时,MySQL一旦找到row_count个唯一的行,它将停止。

·         在一些情况下,GROUP BY能通过顺序读取键(或在键上做排序)来解决,然后计算摘要直到关键字的值改变。在这种情况下,LIMIT row_count将不计算任何不必要的GROUP BY值。

·         只要MySQL已经发送了需要的行数到客户,它将放弃查询,除非你正使用SQL_CALC_FOUND_ROWS。

·         LIMIT 0将总是快速返回一个空集合。这对检查查询的有效性是有用的。当使用MySQL API时,它也可以用来得到结果列的列类型。(该技巧在MySQL Monitor中不工作,只显示Empty set;应使用SHOW COLUMNS或DESCRIBE)。

·         当服务器使用临时表来进行查询时,使用LIMIT row_count子句来计算需要多少空间。

Mysql中limit的优化相关推荐

  1. mysql中查询缓存优化以及慢查询

    1. 概述 开启Mysql的查询缓存,当执行完全相同的SQL语句的时候,服务器就会直接从缓存中读取结果,当数据被修改,之前的缓存会失效,修改比较频繁的表不适合做查询缓存 2. 操作流程 1.客户端发送 ...

  2. 解决mysql中limit和in不能同时使用的问题

    解决mysql中limit和in不能同时使用的问题 参考文章: (1)解决mysql中limit和in不能同时使用的问题 (2)https://www.cnblogs.com/chywx/p/9946 ...

  3. mysql中limit后面不能使用运算符

    mysql中limit后面不能使用运算符 进行分页查询的时候,如果写成以下sql,语句执行会报错: select * from user where id = 123456 and code = 11 ...

  4. pdo mysql limit_PHP mysql中limit用法详解(代码示例)

    在MySQL中,LIMIT子句与SELECT语句一起使用,以限制结果集中的行数.LIMIT子句接受一个或两个offset和count的参数.这两个参数的值都可以是零或正整数. offset:用于指定要 ...

  5. mysql limit 含义_深入分析Mysql中limit的用法

    很久没用mysql的limit,一时大意竟然用错了,自认为(limit 开始,结束),其实错了,正确的应该是(limit 偏移量,条数),为了记住这次错误,转载一篇limit用法详解.推荐给大家,希望 ...

  6. mysql limit 执行顺序_SQL语句执行顺序及MySQL中limit的用法

    一. SQL语句执行顺序及MySQL中limit的用法 执行顺序:from... where...group by... having.... select ... order by... limit ...

  7. mysql不支持not int查询结果,第九章 MySQL中LIMIT和NOT IN案例

    第九章 MySQL中LIMIT和NOT IN案例 一.案例的项目 1.创建数据库语句: #创建数据库 CREATE DATABASE `schoolDB`; USE `schoolDB`; #创建学生 ...

  8. mysql的limit性能优化

    MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句 ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适 ...

  9. mysql中limit关键字_【JAVA】关于mysql的limit关键字使用。

    在WEB项目中我们经常会使用到分页,分页有很多中,一种是放在内存中,由java代码控制分页:另一种是直接用sql进行数据库分页: 放在内存中进行分页这肯定是不太现实的,如果数据量过大,会导致内存爆掉. ...

最新文章

  1. Python中的find()
  2. 安卓的自定义的DemoApplication 出现的问题。
  3. 火爆全网,却只有4页!ICLR爆款论文「你只需要Patch」到底香不香?
  4. JavaScript 复习之 Array 对象
  5. 机器学习week3课后作业
  6. 【算法数据结构Java实现】折半查找
  7. Nature发布第一张人类造血干细胞发育的全面路线图
  8. python需要配置环境变量吗_python为什么会环境变量设置不成功
  9. linux组的管理命令,linux 用户和组管理命令(示例代码)
  10. 晨哥真有料丨聊天就在一起了,真有这么简单吗?
  11. java框架----mybatis的使用(一)
  12. UIPikerView的属性和使用方法
  13. Python自动化(十二):一分钟搞定几百个Excel中查找的数据
  14. c#获取屏幕上某坐标点的颜色
  15. 《那些年啊,那些事——一个程序员的奋斗史》——53
  16. 精简指令集(MIPS为例)常用指令特点及其格式
  17. eclipse怎么将项目打包成jar文件
  18. 多元函数第六:连续函数(5)康托尔(Cantor)闭集套定理
  19. 最新版cleanmymac4.11.3专业的Mac清理软件
  20. 10bit、8bit色彩深度的区别

热门文章

  1. GPUImage – 色阶 GPUImageLevelsFilter
  2. C语言 while 循环 - C语言零基础入门教程
  3. 多线程:CopyOnWriteArrayList
  4. 鸿蒙os2.0开发者beta版,鸿蒙 OS 2.0 开发者beta版针对Mate 40系列设备开放
  5. java 关联表做修改_java-图关联列表实现
  6. JavaScript学习笔记:常量,枚举,宏定义
  7. 带电检测必要性_接地电阻检测分析的必要性
  8. 云信服务器代码,云信一键登录服务端API文档-一键登录-网易云信开发文档
  9. java性能优化方案_Java性能优化要点
  10. 腾达路由器dns服务器未响应,腾达路由器的设置方法