小编sto*_*azy的帖子

更改表集统计信息需要表锁

我遇到过这样的情况:Pg 总是更喜欢对具有大约 70M 行的表进行顺序扫描。(索引扫描非常适合该查询,我已经通过设置enable_seq_scan = off确认了这一点,速度提高了200倍)

所以,为了帮助 Pg 更好地理解我的数据,我执行了这个

ALTER TABLE tablename ALTER COLUMN columnname SET STATISTICS 1000;

不幸的是,这需要更新独占锁来锁定整个表(锁太多)。

  1. 有没有办法避免锁定该语句?
  2. 该表的数据分片是基于主键范围进行的,因此我希望 Pg 能够更好地理解我的 Pk,以便它知道哪个 User 拥有大数据。如果我也增加PrimaryKey列的统计信息会有用吗?

postgresql postgresql-performance

5
推荐指数
1
解决办法
4442
查看次数

标签 统计

postgresql ×1

postgresql-performance ×1