我们的Postgres 9.2.4服务器平均需要0.69秒(15000条语句)才能执行
SET CONSTRAINTS ALL DEFERRED
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
会INITIALLY DEFERRED在表定义中使用而不是使用SET CONSTRAINTS ..消除此时间或仅将其隐藏在其他地方吗?
恕我直言,这可能是因为每次运行此语句时,后台发生的是对位于 pg_catalog 中的表定义的大更新语句。换句话说,您将死行添加到 pg_catalog,这会导致在适当的 seq 扫描期间访问越来越多的磁盘空间。
如果您确实每天运行该语句 15k 次,也许您需要仔细审视一下您的架构或工作流程?
| 归档时间: |
|
| 查看次数: |
466 次 |
| 最近记录: |