当前位置: 首页 > news >正文

MySQL如何利用索引优化ORDER BY排序语句

MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度。


MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组操作。


通过索引优化来实现MySQL的ORDER BY语句优化:


1、ORDER BY的索引优化。如果一个SQL语句形如:
SELECT [column1],[column2],…. FROM [TABLE] ORDER BY [sort];
在[sort]这个栏位上建立索引就可以实现利用索引进行order by 优化。


2、WHERE + ORDER BY的索引优化,形如:
SELECT [column1],[column2],…. FROM [TABLE] WHERE [columnX] = [value] ORDER BY [sort];
建立一个联合索引(columnX,sort)来实现order by 优化。


注意:如果columnX对应多个值,如下面语句就无法利用索引来实现order by的优化
SELECT [column1],[column2],…. FROM [TABLE] WHERE [columnX] IN ([value1],[value2],…) ORDER BY[sort];


3、WHERE+ 多个字段ORDER BY
SELECT * FROM [table] WHERE uid=1 ORDER x,y LIMIT 0,10;
建立索引(uid,x,y)实现order by的优化,比建立(x,y,uid)索引效果要好得多。


MySQL Order By不能使用索引来优化排序的情况
* 对不同的索引键做 ORDER BY :(key1,key2分别建立索引)
SELECT * FROM t1 ORDER B


http://www.mrgr.cn/news/70269.html

相关文章:

  • 泷羽sec学习打卡-Linux基础
  • 操作系统——进程调度
  • Web安全之SQL注入---基础
  • Java 实现自定义 LRU 缓存
  • 制作图片木马
  • Java 中使用Mockito 模拟对象的单元测试的快速示例
  • python中常见的8种数据结构之一矩阵及其使用方法
  • 米思齐编程:开启创意与学习的大门
  • Sigrity SPEED2000 Power Ground Noise Simulation模式如何进行信号时域仿真操作指导(二)-三个信号
  • IDE使用技巧与插件推荐:提升开发效率的秘籍
  • 17.声明和定义
  • Ente: 我们的 Monorepo 经验
  • watermark大模型水印详解
  • jupyter可视化pandas dataframe
  • 地表最强的模型驱动代码生成器NopCodeGen
  • 如何对回归方程进行统计(显著性)检验?
  • 网络与通信实验一 网络协议分析
  • 零基础玩转IPC之——海思平台实现P2P远程传输实验(基于TUTK,国科君正全志海思通用)
  • python中input的单输入、多输入
  • RHCSA第二次练习
  • vue3注意事项
  • 【Effective C++】阅读笔记6
  • 博图与Factory I/O结合实现运料小车自动往返四次控制
  • json即json5新特性,idea使用json5,fastjson、gson、jackson对json5支持
  • java运行jar包问题总结
  • 从文本到图像:AIGC 如何改变内容生产的未来