最近一直在研究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在执行时,并不会一定用上。
PostgreSQL Query 优化体验
最新推荐文章于 2024-08-23 17:23:11 发布