Use*_*er1 7 postgresql performance
在Postgres中专门编写更快查询的有效方法是什么?请不要包括通常良好的数据库实践(例如使用索引或规范化).我正在寻找像派生表的工作速度比子查询更快或使用python字符串函数似乎比pgsql字符串函数更快的提示.理想情况下,此列表将包括现实世界的示例和建议.
谢谢.
小智 8
到目前为止,我发现的唯一牢不可破的规则是没有牢不可破的规则.
有时子查询更快,有时加入更快.有时你想要plpgsql,有时你想要一些其他的pl/*.
通常最充分的建议:
确保定期吸尘.在大多数情况下,目前的自动真空系统在这方面表现相当不错,但是定期运行全手动真空仍然有帮助(在我们的情况下,这种情况大约每年发生一次).
如果统计数据可用于表,则仅可靠地使用索引.确保在对表进行任何重大更改(大量插入/删除)后运行真空 - 分析以确保正确选择索引.
默认的Postgres配置针对具有相对适中的资源和慢速磁盘的系统进行了优化.如果你的系统有更快的磁盘(可能),更快的CPU(可能),或更多的RAM(几乎可以肯定),那么请确保根据它调整各种参数.主要是增加缓冲区大小,但如果你有极快的磁盘(特别是SSD),那么降低寻道时间的成本估算也是一个好主意.
我也有一些经验,在相当复杂的查询中加入稍慢,但这些更难以概括.通常,与具有更复杂的查询优化器(例如,Oracle或DB2)的数据库中可能需要的相比,查询更明确是有帮助的.
归档时间: |
|
查看次数: |
963 次 |
最近记录: |