总结一下,当order by 中的字段出现在where条件中时,才会利用索引而不排序,更准确的说,order by 中的字段在执行计划中利用了索引时,不用排序操作,这个结论不仅对order by有效,对其他需要排序的操作也有效,如group by 、union 、distinct等。这种情景下若要走索引需单独建立一个order by 条件的索引,并删除带order by条件的联合索引,不仅postgresql如此,mysql也会这样。我当时在优化无聊看看网的时候也曾入过坑!
postgresql在order by时候联合索引失效
最新推荐文章于 2024-07-26 03:49:42 发布