mysql中orderby排序使用索引优化

 时间:2024-11-05 17:50:11

1、order by子句,尽量使用index方式排序,避免使用filesort方式排序。建立一个tablA表作为演示。

mysql中orderby排序使用索引优化

2、现在使用explain select * from tablA where age > 20 order by age;这条sql语句排序不会产生filesort。

mysql中orderby排序使用索引优化mysql中orderby排序使用索引优化mysql中orderby排序使用索引优化

3、mysql支持两种方式的排序,filesort和index,index效率高,它指mysql扫描索引本身完成排序,filesort方式效率低。orderby满足两下情况会使用index方式排序,order by语句使用索引最左前列使用where子句与order by子句条件列组合满足索引最左前列。如果不在索引列上,filesort有两种算法:双路排序和单路排序。

mysql中orderby排序使用索引优化

4、如果单路排序内存不够,需要增大sort_buffer_size参数的设置,增大max_length_for_sort_data参数的设置。

mysql中orderby排序使用索引优化

5、mysql两种排序方式:文件排序或扫描索引排序,mysql能为排序与查询使用相同的索引。

mysql中orderby排序使用索引优化

6、以上就是mysql中orderby排序使用索引优化。我们应该尽量使用索引的情况下进行排序,不能使用使用的情况下去优化mysql文件排序的参数设置。

  • jxls2教程(一): 简单使用jxls2.X 导出excel
  • 如何进行网站域名的解析(阿里云)
  • uni-app 使用MD5教程
  • 龙珠Q传寻找龙珠怎么玩
  • Springboot将配置分为生产环境与开发环境文件
  • 热门搜索
    草木皆兵的意思是什么 懵懂是什么意思 随声附和什么意思 休学是什么意思 miss you是什么意思 槟榔有什么作用 包浆是什么意思 奥利给是什么意思 什么样的网名好听 墨梅的意思