首页 >>  正文

mysql order by 字段需要索引吗

来源:www.zuowenzhai.com    作者:编辑   日期:2024-06-15
mysql order by字段是否应该创建索引

0 确认下需求,如果只是为了应对这一个查询或类似于where channerId=x order by dtTime desc的查询,理论上 channelId+dtTime式的复合索引会更高效。
1 自动动手 explain 下这个查询,之前先建立 channelid 单索引、dtTime 单索引 和 channelId+dtTime 复合索引。
分别对 自动使用索引、强制使用 dtTime 索引、强制使用 channelId+dtTime 复合索引的情况都 explain下;
掌握下explain吧,你会提高一个认识水平的。

mysql的order by语句,如果在where条件中没有合适的索引选择时,将会选择order by col中的索引作为条件,但是如果是多个order by组合,将会导致放弃使用索引。和开发以及需求沟通,发现通过名字排序是可以不需要的。再次对比两次profiling(过程省略),发现第一次损坏大量io和cpu时间Sorting result上!因为该语句为前台语句,有大量查询,优化后,页面打开速度明显提升。

不需要,索引是数据库内部排序加快查询的,order by 是用户用来排序的



(编辑:吕清武)
联系方式:
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图
@ 作文摘要网