mysql明明添加了索引为什么order by还是出现 using filesort 10

为什么不走sort索引啊,求大神解答... 为什么不走sort索引啊,求大神解答 展开
 我来答
匿名用户
2017-09-13
展开全部
mysql中explain出现usingfilesort的优化方法:explain是mysql解释select查询语句的一个关键字,它可以很方便的对mysql语句进行调试,看索引是否使用.语法格式如下EXPLAINtbl_name或者:EXPLAINSELECTselect_optionsEXPLAIN语句可以被当作DESCRIBE的同义词来用,也可以用来获取一个MySQL要执行的SELECT语句的相关信息。EXPLAINtbl_name语法和DESCRIBEtbl_name或SHOWCOLUMNSFROMtbl_name一样。当在一个SELECT语句前使用关键字EXPLAIN时,MYSQL会解释了即将如何运行该SELECT语句,它显示了表如何连接、连接的顺序等信息。在explain我们所使用的sql的时候,经常会遇到usingfilesort这种情况,原以为是由于有相同列值的原因引起,结果昨天看到公司的一个sql,跟同事讨论了下加上自己又做了一些测试,突然发现自己原来的想法是错误的。首先,只有在orderby数据列的时候才可能会出现usingfilesort,而且如果你不对进行orderby的这一列设置索引的话,无论列值是否有相同的都会出现usingfilesort。因此,只要用到orderby的这一列都应该为其建立一个索引。
micro0369
2017-09-13 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4061万
展开全部
因为数据的问题,使用索引和不适用索引,没啥差别
你往表里插入1000行的数据,然后保证sort不一样,然后再试试看
追问
我都插入10万数据了sort随机生成数字,还是出现filesort
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
create_wonders
2020-09-24
知道答主
回答量:1
采纳率:0%
帮助的人:573
展开全部
where条件中没用到sort吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式