一文读懂Mysql 优化之order by【百万乃至千万数据查询优化推荐】

news/2024/11/28 20:34:55/

一文读懂Mysql 优化之order by

  • 驱动表与被驱动表概念
  • 复合索引的三大原则
  • 排序方式对比
  • 索引排序
  • 驱动表排序
  • 临时表排序
  • 排序算法

驱动表与被驱动表概念

  • 当使用left join时,左表是驱动表,右表是被驱动表
  • 当使用right join时,右表是驱动表,左表是被驱动表
  • 当使用join(inner join) / where时,mysql会选择数据量比较小的表作为驱动表,大表作为被驱动表
    可以使用explain执行计划,查询结果的第一行即为驱动表

复合索引的三大原则

假如索引有复合索引(a,b,c),复合索引字段顺序 a>b>c ,a为最左侧字段

  • 最左匹配原则,如果查询条件缺失了索引的最左侧列,那么索引不生效
  • 中间不可中断原则,如果中间定义的索引没有在where条件里面体现,那么后面的字段过滤将不会用到索引
  • 范围中断原则,只要使用了范围查询,那么其右侧的索引都无法正常使用
select field from table where b="b" order by b,c  

http://www.ppmy.cn/news/957431.html

相关文章

ChatGPT-4来袭,留学申请文书面临挑战如何破局?

近日,ChatGPT再次“进化”,其最新版本ChatGPT-4又掀高潮。其生产者OpenAI 称,“ChatGPT-4是最先进的系统,能生产更安全和更有用的回复。”和上一代相比,GPT-4拥有了更广的知识面和更强的解决问题能力,在创意…

【论文学习】Distortion Agnostic Deep Watermarking

一、前言 论文链接:Distortion Agnostic Deep Watermarking 论文主要内容: 该文献提出了一种失真不可知的鲁棒水印模型,以解决现有DNN鲁棒水印方法的局限性。现有的DNN鲁棒水印方法,通常是在训练阶段将各类失真(例如…

chatGPT对汽车制造行业有什么帮助

在汽车制造领域,ChatGPT可以发挥以下几个方面的作用: 可以用于汽车设计和优化。通过分析各种数据集,例如车身结构、发动机参数、空气动力学参数等,ChatGPT可以帮助汽车制造商设计和优化汽车结构,提高汽车的性能和燃油效…

最近爆火的ChatGPT核心技术演进历程

文章目录 1.前言2.初识ChatGPT2.1.什么是ChatGPT2.2.ChatGPT和其他模型对比具有的特性 3.ChatGPT技术演进历程3.1.Transformer(转移学习)和基础模型3.2.GPT-1:简化模型,使其更适合自然语言生成3.2.1.什么是GPT-13.2.1.GPT-1的优势…

业务开发“银弹” ——低代码开发平台

一、现状 低代码开发平台要让每个人,包括开发者和普通业务人员,都能够成为企业数字化过程中的主导者和构建者!让普通人更容易上手! 基于这一目标,应用需求多的云服务商成为低代码投资的主要来源。一家云服务商如谷歌云…

functools工具包之singledispatch方法

一、概念 Python中的一个装饰器,用于将一个普通函数转换为单分派泛型函数 二、作用 可以根据第一个参数的类型自动选择对应的实现,而不需要使用多个if语句或switch语句来判断参数的类型。 三、实战 from functools import singledispatchsingledisp…

STM32自学笔记16-步进电机驱动项目-磁编码器的校准

上节我把MT6816的驱动给大致整明白了,接下去需要看看如何校准。 为什么编码器需要校准? 如上节所说,MT6816是一款绝对值编码器,它为每个测量位置分配了唯一的二进制代码或字,即使断电,也可以跟踪编码器的确…

PersistentVolume:怎么解决数据持久化

Kubernetes 的 Volume 对数据存储已经给出了一个很好的抽象,它只是定义了有这么一个“存储卷”,而这个“存储卷”是什么类型、有多大容量、怎么存储,我们都可以自由发挥。Pod 不需要关心那些专业、复杂的细节,只要设置好 volumeMo…