`

PostgreSQL Query 优化体验

 
阅读更多

最近一直在研究PostgreSQL相关的内部处理机制,碰巧碰见了一个问题,就是同一个SQL语句,只是取值不同,但是查看查询计划时,执行的方式是不同的,如图:

图1

图2
SQL语句如下:
SELECT buyer_nick from tb_crm where shop_id=62227339和SELECT buyer_nick from tb_crm where shop_id=144939
为什么执行的计划却不一样呢?当时就觉得很奇怪了,后来我查看了各条件的记录数,如下图:



两个记录数不一样,所以我猜测是PostgreSQL自己对查询语句做过优化。
结论:
所以建立的索引,PostgresQL在执行时,并不会一定用上。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics