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

MySQL面试题合集

1.MySQL中的数据排序是怎么实现的?

回答重点

排序过程中,如果排序字段命中索引,则利用 索引排序

反之,使用文件排序

文件排序中,如果数据量少则在内存中排序, 具体是使用单路排序或者双路排序。 如果数据大则利用磁盘文件进行外部排序,一 般使用归并排序。

知识扩展理解

根据 explain 的结果来看,MySQL 可以分为 索引排序和 filesort。

索引排序

如果查询中的 ORDER BY 子句包含的字段已经 在索引中,并且索引的排列顺序和 ORDER BY 子句一致,则可直接利用索引进行排序。这种 方式效率最高,因为索引有序。

filesort

当使用 explain 分析 SQL 发现执行计划的 extra 中包含 using filesort 的时候,说明 它无法应用索引的顺序,而主动排序了。 如果需要排序的数据比较少,则直接在内存中 通过 sort_buffer 就能排了。具体是通过 sort_buffer_size 参数来控制 sort_buffer 的大小,如果需要排序的数据量小于 sort_buffer 则直接在内存中排序,反之需要 利用磁盘临时文件排序,性能就比较差了。

内存排序

在 sort

http://www.lryc.cn/news/534432.html

相关文章:

  • spring学习(druid、c3p0的数据源对象管理)(案例学习)
  • WordPress博客在fnOS环境下的极简搭建与公网地址配置指南
  • 【PG】DROP TABLE ... CASCADE
  • 绕组电感 - Ansys Maxwell 磁通链与电流
  • 物联网软件开发与应用方向应该怎样学习,学习哪些内容,就业方向是怎样?(文末领取整套学习视频,课件)物联网硬件开发与嵌入式系统
  • 《LeetCode Hot100》 Day01
  • vue动态table 动态表头数据+动态列表数据
  • 1.3 GPT vs BERT 终极选择指南:从架构差异到企业级落地策略
  • python-leetcode 23.回文链表
  • 食品饮料生产瓶颈?富唯智能协作机器人来 “破壁”
  • Golang GORM系列:GORM CRUM操作实战
  • C++ labmbd表达式
  • 《大规模动画优化(一):GPU 顶点动画的生成》
  • 【前端】几种常见的跨域解决方案
  • 如何在WinForms应用程序中读取和写入App.config文件
  • 【分布式理论7】分布式调用之:服务间的(RPC)远程调用
  • 人工智能应用-智能驾驶精确的目标检测和更高级的路径规划
  • dynamic_cast和static_cast和const_cast
  • DEEPSEEK与GPT等AI技术在机床数据采集与数字化转型中的应用与影响
  • 高速存储文章目录
  • 车载测试工具 --- CANoe VH6501 进行Not Acknowledge (NAck) 测试
  • 【清晰教程】通过Docker为本地DeepSeek-r1部署WebUI界面
  • Linux运维——用户管理
  • mac下dify+deepseek部署,实现私人知识库
  • Linux中设置开机运行指令
  • IDEA中列举的是否是SpringBoot的依赖项的全部?在哪里能查到所有依赖项,如何开发自己的依赖项让别人使用
  • Ollama命令使用指南
  • LIMO:上海交大的工作 “少即是多” LLM 推理
  • Android studio怎么创建assets目录
  • 常见的前端框架和库有哪些