3个回答
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的这一列都应该为其建立一个索引。
展开全部
因为数据的问题,使用索引和不适用索引,没啥差别
你往表里插入1000行的数据,然后保证sort不一样,然后再试试看
你往表里插入1000行的数据,然后保证sort不一样,然后再试试看
追问
我都插入10万数据了sort随机生成数字,还是出现filesort
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
where条件中没用到sort吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询