mysql order by limit 的一个坑

分页查询的时候遇到的坑:

发现的问题: 对单个无索引的字段进行排序后limit .发现当被排序字段有相同值时并且在limit范围内,取的值并不是正常排序后的值,

也就是说,当排在第N行的数据可取key1、 key2 时 , 排序结果可能是key1,也可能是key2。

排序+ limit 结果 (排序键无索引)

按cnt取key_word分别前三结果:

解决: 先上个链接!

https://dev.mysql.com/doc/refman/5.7/en/limit-optimization.html

这是mysql对limit的优化。

原文:

If multiple rows have identical values in the ORDER BY columns, the server is free to return those rows in any order, and may do so differently depending on the overall execution plan. In other words, the sort order of those rows is nondeterministic with respect to the nonordered columns.

是说如果order by的列有相同的值时, mysql会随机选取这些行,具体根据执行计划有所不同。

解决: order by 的列中包含一个索引列

此处增加主键id为排序列

mysql div 没有小数,mysql order by limit 的一个坑相关推荐

  1. mysql 优先队列_深入浅出 MySQL 优先队列(你一定会踩到的order by limit 问题)

    英语和算法是程序员的两条腿 本文适用于 MySQL 5.6 及以上版本 0.先抛问题 假设字段category无索引且有重复值,order by category 和limit组合使用的结果会和预期不 ...

  2. mysql外部排序_深入浅出MySQL优先队列(你一定会踩到的order by limit 问题)

    0.先抛问题 假设字段category无索引且有重复值,order by category 和 limit 组合使用的结果会和预期不符. 问题复现: 表结构(就是两个字段) CREATE TABLE  ...

  3. MYSQL实现ORDER BY LIMIT的方法以及优先队列(堆排序)

    一.MYSQL中的LIMIT和ORACLE中的分页 在MYSQL官方文档中描述limit是在结果集中返回你需要的数据,它可以尽快的返回需要的行而不用管剩下的行, 在ORACLE中也有相关的语法比如 1 ...

  4. 如何解决MySQL order by limit语句的分页数据重复问题?

    文章来源:https://www.jianshu.com/p/544c319fd838 0 问题描述 在MySQL中我们通常会采用limit来进行翻页查询,比如limit(0,10)表示列出第一页的1 ...

  5. 绕过mysql的id:32933 BUG 实现order by limit 正常取数据.

    今天在写分页的时候遇到了一个Mysql的一个BUG,Google了一下发现网上提出这个问题的Blog就俩还都没有给出解决方案,其实mysql官方早在2007年就已经发布了声明.BUG ID:32933 ...

  6. [MySQL 5.6优化] --order by limit x,x 优化

    简介: order by limit x ,x 在实际工作中有各种业务需求要有order by的排序,有时候处理不好则会造成系统宕机! 原理: a.通过索引来获取排序 b.通过内部算法获取排序: 案例 ...

  7. mysql limit分页_MySQL order by limit 分页数据重复问题

    黑客技术点击右侧关注,了解黑客的世界! Linux编程点击右侧关注,免费入门到精通! 程序员严选甄选正品好物,程序员生活指南! 作者丨猿码道 https://www.jianshu.com/p/544 ...

  8. MySQL:关于排序order by limit值不稳定的说明(1)

     导 读 作者:高鹏(重庆八怪) 原文地址: https://www.jianshu.com/p/8c2154872f83 本系列文章将持续更新,欢迎关注~ 作者按:如果有误请谅解和指正,本文仅仅作为 ...

  9. Mysql高手系列 - 第8篇:详解排序和分页(order by limit),及存在的坑

    这是Mysql系列第8篇. 环境:mysql5.7.25,cmd命令中进行演示. 代码中被[]包含的表示可选,|符号分开的表示可选其一. 本章内容 详解排序查询 详解limit limit存在的坑 分 ...

最新文章

  1. 搭建基于域名虚拟主机
  2. leetcode-卡车加气走环
  3. ceph docker mysql_使用Docker部署单机版Ceph
  4. 手写“2021”新年春节艺术字,好素材会说话!
  5. mysql数据库密码为空_注意MySQL 数据库用户root密码为空_MySQL
  6. HDOJ 5087 Revenge of LIS II DP
  7. uniac是哪一代计算机的代表,Saint-Uniac
  8. cartographer探秘第四章之代码解析(六) --- 后端优化 --- 优化求解
  9. 伺服驱动伺服电机选型究竞有哪些问题要注意??
  10. ELK实践(三)北京历年空气质量数据分析
  11. 计算机语言底层用汉语拼音设计,对汉语拼音设计方案认识(10页)-原创力文档...
  12. S-Paper电子纸在生产车间中的应用
  13. 班加洛尔大部分地区即将兴建别墅
  14. s2sh整合(详细版)
  15. WordCount的理解与MapReduce的执行过程
  16. 20世纪英国癌症三级预防研究
  17. 超零协议(SERO)轻松入门——基于CENTOS7
  18. SOI round1 题解
  19. Linux中CentOS 7如何联网?
  20. JAVA实现随机生成航班数据

热门文章

  1. python与MySQL交互
  2. SilverLight.3-Validation:二、银光验证。TheLabel、TheDescriptionViewer和TheValidationSummary...
  3. java.sql.Connection.close() vs null
  4. 第十三周学习进度情况
  5. 数据库备份(存储过程)
  6. Office 365强势来袭PART1:云中Outlook体验
  7. ReduceTask工作机制
  8. 使用Java mail发送邮件附件出现附件上产生.eml文件夹的问题及附件名.bin结尾问题...
  9. 一个.java源文件中是否可以包括多个类
  10. 动态参数 名称空间 作用域 作用域链 加载顺序 函数的嵌套 global nonlocal 等的用法总结...