社区
MySQL
帖子详情
Mysql:Using filesort怎么都处理不掉
小槐i
2023-03-14 18:20:58
...全文
60
回复
打赏
收藏
Mysql:Using filesort怎么都处理不掉
[图片]
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
【
mysql
知识点整理】— order by 、group by 出现
Using
file
sort
原因详解
文章目录测试数据1 sql执行顺序2 order by 和 group by什么时候会出现
Using
file
sort
— 理论3 order by 和 group by什么时候会出现
Using
file
sort
— 实践3.1 不会出现
Using
file
sort
的情况 — 符合最佳左前缀法则3.1.1 order by也满足索引最佳左前缀法则的时候3.1.2 where中索引的最左前缀定义为常量的时候 — 其实为3.1.1的特例3.1.3 覆盖索引情况下和非覆盖索引情况下稍微有点区别3.2 会出现
Using
file
sort
的情况3 讨论 — 实际业务中我的order by 就
Mysql
之EXPLAIN显示
using
file
sort
介绍
EXPLAIN 是
mysql
解释select查询的一个关键字,可以很方便的用于调试
MySQL
执行计划之
Using
file
sort
一、介绍
Using
file
sort
是
MySQL
执行计划Extra字段中的一个重要值,表示查询出所有数据再进行排序。此排序方式为文件排序,没有走索引排序
using
index. 一般来说,执行计划中如果Extra字段中值为
Using
file
sort
时,那么type字段(查询类型)一般为index或ALL。(两者都是查询所有数据,index与ALL区别为index类型只遍历索引树。通常比ALL快,因为索引文件通常比数据文件小。Index与ALL虽然都是读全表,但index是从索引中读取,而ALL是
explain
mysql
using
file
sort
:_
mysql
explain中的
using
file
sort
Using
file
sort
表示在索引之外,需要额外进行外部的排序动作。导致该问题的原因一般和order by有者直接关系,一般可以通过合适的索引来减少或者避免。explain SELECT * FROM table_item WHERE user_id = 2 ORDER BY item_id LIMIT 0, 5user_id 和 item_id 分别建立一个索引,对此语句
MySQL
选择了 u...
Mysql
之
Using
file
sort
优化
一、前言 在使用 explain 命令优化SQL语句的时候常常会在Extra列的描述中发现
Using
file
sort
选项,其实这个名字很容易造成误解,一开始我以为是“文件排序”的意思,进一步说可能就是使用了磁盘空间来进行排序,但是这个理解是错误的,
Using
file
sort
真正含义其实只有
sort
这一个单词,和
file
没有什么关系,仅仅表示没有使用索引的排序。
file
sort
使用的算法是Quick
Sort
,即对需要排序的记录生成元数据进行分块排序,然后再使用merge
sort
方法合并块。其
MySQL
56,940
社区成员
56,756
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章