![]() |
1
7
确保定期真空。目前的自动真空系统在大多数情况下都能很好地实现这一点,但是定期运行全手动真空仍然很有帮助(在我们的情况下,这种情况每年大约发生一次)。 只有当统计信息可用于表时,才可靠地使用索引。确保在对表进行任何重大更改(大量插入/删除)后运行真空分析,以确保正确选择索引。 默认的Postgres配置针对资源相对较少、磁盘速度较慢的系统进行了优化。如果您的系统有更快的磁盘(可能),更快的CPU(可能),或者更多的RAM(几乎可以肯定),那么请确保根据这些调整各种参数。主要的事情是增加缓冲区的大小,但是如果您有非常快的磁盘(特别是SSD),最好也降低搜索时间的成本估计。 在相当复杂的查询中,我也有过一些连接速度稍慢的经验,但这些经验更难概括。一般来说,与使用更复杂的查询优化器(例如,Oracle或DB2)的数据库中可能需要的内容相比,使用查询更显式会有所帮助。 |
![]() |
2
8
到目前为止,我发现的唯一不可破解的规则就是没有不可破解的规则。 有时子查询更快,有时连接更快。有时需要plpgsql,有时需要其他pl/*。 最常见的建议是:
|
![]() |
3
1
签出此页面上的所有链接,因为您正在进行实际的优化,所以最好知道所有选项的含义以及它们中的任何一个何时应用于您的配置。 |
|
tggtsed · PostgreSQL从平均值中排除值 1 年前 |
![]() |
Dawid · 为什么我不能在子查询中使用表别名? 2 年前 |
![]() |
CraZyCoDer · 在PostgreSQL中锁定潜在事务 2 年前 |
![]() |
ranebec · 计数时如何返回0而不是null? 2 年前 |
![]() |
Flo · 分组依据中的SQL大小写 2 年前 |