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