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

MySQL 45讲 16-17

全字段排序
explain 中的 using fiesort ,扫描 数据,取出符合判断条件的 数据,到sort buffer中,然后对排序字段采用快速排序进行 排序后直接将 所需字段进行返回
如果 字段长度所占内存大于所分配 的sort buffer ,需要借助 临时文件 进行 数据的存放排序,此时会采用 归并排序,将数据查分为多份存储到多个 临时文件,各自排序后再合并

rowid排序
配置排序数据行的最大长度,大于该长度采用rowid 算法
即只取 排序字段和主键id 到 sort-buffer, 排序后得到顺序id , 回到主键索引树 取目标字段后返回
相比全字段排序 多了一次到 主键树 取值的操作

联合索引联结 判断字段和排序字段
索引就可以实现排序,但还需要回表查所需字段

覆盖索引

两个算法思想
大数据量情况下获取排序前三的数据 — 优先队列排算法
数据库数据如何实现随机获取数据?
1.order by rand() 临时表 + filesort
2.获取最大后 rand 取 下一条大于该值的id -------> id空洞会导致 随机失效
3.获取 count() 后 取limit (rand(count) ,1)

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

相关文章:

  • 【Linux网络编程】网络层协议 - IP
  • 大模型微调工具LLaMA-Factory的安装流程
  • Git Pull 时遇到 Apply 和 Abort 选项?详解它们的含义与应对策略
  • sqli-labs:Less-16关卡详细解析
  • 数字通信原理--数字通信仿真基础
  • 基于C++的protobuf协议使用(四)项目应用与总结
  • 学以致用——用Docker搭建ThinkPHP开发环境
  • freesurfer处理图谱和被试的脑模版对齐的操作
  • realm数据库RealmObject的作用
  • 电子电气架构 --- 车载48V系统开辟全新道路
  • 神奇的数据跳变
  • 【实战教程】Nginx 全方位拦截 Web 常见攻击(含目录遍历、SQL 注入等)
  • Spire.XLS for .NET 中, 将 Excel 转换为 PDF 时, 如何设置纸张大小为A4纸,并将excel内容分页放置?
  • Go语言的gRPC教程-通信模式
  • 搭建 Mock 服务,实现前端自调
  • Python与MySQL的关联操作
  • AI+金融,如何跨越大模型和场景鸿沟?
  • 006 低功耗蓝牙BLE——音频数据无法直接免驱传输分析与折中方案
  • Spark SQL 的详细介绍
  • CentOS7上使用Docker安装Nacos详细步骤
  • java一个脚手架搭建
  • 常用设计模式系列(十六)—策略模式
  • sqli-labs靶场Less23
  • Jmeter全局变量跨线程组的使用
  • 四、主辅源电路
  • F12 开发者工具 使用指北
  • vk框架或者普通函数封装的一些函数可以拿取使用【会持续更新】
  • 谷歌devtools检查文本资源是否已压缩
  • 【LeetCode 热题 100】20. 有效的括号
  • 使用 Docker 部署 Apache RocketMQ