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

MySQL排序详解

  • MySQL支持两种方式排序filesortindex
  • index指扫描索引本身完成排序index效率
  • filesort通过内存或者排序文件完成排序filesort效率

  • order by满足两种情况会使用index排序
    • order by语句使用索引最左
    • where条件字段order by字段组合满足索引最左

  • sort_buffer_size配置
    • 每个回话分配排序操作缓冲区大小
    • 需要排序数据>大于该配置MySQL使用磁盘文件排序

  • filesort支持两种排序方式单路排序双路排序
  • filesort单路排序一次去除满足条件所有字段然后进行排序
  • filesort双路排序根据相应条件取出排序字段主键id进行排序排序完成根据主键id回表查询其余信息
  • max_length_for_sort_data配置
    • 查询单行数据长度小于配置使用单路排序
    • 大于配置使用双路排序

使用mysql trace信息观察排序方式

  • 单路排序

  • 调整max_length_for_sort_data观察双路排序

  • sort_buffer_size配置适当调大max_length_for_sort_data查询尽量单路排序避免其回表查询
  • sort_buffer_size配置小时适当max_length_for_sort_data查询尽量双路排序避免使用磁盘文件排序

http://www.dtcms.com/a/99576.html

相关文章:

  • vue3 响应式系统指南
  • 无人机中继传输数据链技术,(无人机+自组网)远距离传输技术实现详解
  • 大唐杯02 DTM.PX4.016
  • 企业级知识库建设:自建与开源产品集成的全景解析 —— 产品经理、CTO 与 CDO 的深度对话
  • Python基础知识第二天:从格式化到流程控制
  • VSCode Java 单元测试没有运行按钮
  • 代码随想录day2 数组总结
  • 03-SpringBoot3入门-配置文件(自定义配置及读取)
  • Centos 7 搭建 jumpserver 堡垒机
  • Nginx 解决具有不安全、不正确或缺少 SameSite 属性的 Cookie方案
  • IPD流程:科技企业IPD流程培训稿
  • 独立站系统:架构设计、功能实现与用户界面优化
  • 【项目合集】只能xx养殖系统,STM32、esp8266、OLED屏幕、dht11、光敏、水位、加热、风扇
  • STL性能优化实战:如何让C++程序畅快运行
  • 从代码学习数值优化算法 - 分片McCormick放松方法Python版
  • 如何使用postman调用多参数接口(包含文件上传)
  • C++ 中std::vector<T>清除方式
  • win32汇编环境,网络编程入门之十六
  • Reidis介绍
  • 收集的一些问题?
  • SolidJS 深度解析:高性能响应式前端框架
  • 基于SpringBoot的求职招聘网站系统(源码+数据库)
  • 【Spring Boot 与 Spring Cloud 深度 Mape 之十】体系整合、部署运维与进阶展望
  • 排序算法1--插入排序
  • 策略模式_行为型_GOF23
  • 深入理解前端防抖(Debounce)与节流(Throttle):原理、区别与实战示例
  • AWE 2025:当AI科技遇见智能家居
  • 请描述下你对vue生命周期的理解?在created和mounted这两个生命周期中请求数据有什么区别呢?
  • Java面向对象一篇通:从类与对象到Lambda(万字详解)
  • github免费编程类工具汇总与评估(二)