首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgresql:自动真空会影响查询性能吗?它是否应用了影响其他查询性能的锁?

Postgresql:自动真空会影响查询性能吗?它是否应用了影响其他查询性能的锁?
EN

Database Administration用户
提问于 2017-06-19 11:30:58
回答 1查看 9.5K关注 0票数 3

Postgres建议使用自动真空去除死元组。但是,运行自动真空是否会使对同一表的其他查询变得缓慢?它是否添加了影响性能的锁(行或表级别)?CPU上是否有很大的负载,还是占用了大量的内存。

这将帮助我们决定是否应该打开我们的表之一的自动真空,有很高的写入和删除量,或者我们是否应该在非高峰时间定期运行手动真空。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2017-06-19 16:02:16

它的内存使用受到autovacuum_work_memmaintenance_work_mem的限制。它的IO消费受到autovacuum_vacuum_cost_delay和朋友的限制,而这些默认情况导致IO需求相当低。CPU的使用不是直接受限的,而是间接地受到IO消耗节流阀的限制,而且默认设置通常接近可忽略不计的范围。

自动真空确实在表上使用锁,但它是一个弱锁,它不影响正常操作(选择、更新、删除),但会干扰添加索引或截断表等操作。自动真空通常会取消它自己,当它检测到它阻塞了什么东西时,它会交出锁。,但是如果它处于“防止环绕”模式,它就不会这么做。

默认情况下,自动真空是打开的。你不应该关掉它。在非高峰时间使用手动吸尘器是可以的,但要保持自动吸尘器,作为备份,以捕捉任何你的手动真空漏掉的东西。

票数 6
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/176644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档