PostgreSQL查询调优指南?

我发现一些资源谈论调整数据库服务器,但我没有发现很多调整各个查询

例如,在Oracle中,我可能会尝试添加提示来忽略索引或使用排序合并和相关联接,但是在using explicit joins以外的调整Postgres上找不到很多,而在bulk loading tables时我建议。

有任何这样的指南存在,所以我可以专注于调优大多数运行和/或表现不佳的查询,希望不会对目前性能很好的查询产生不利影响?

我甚至会高兴地找到一些比较某些类型的查询相对于其他数据库执行的方式进行比较,所以我有一个更好的线索来避免什么样的事情。

更新:

我应该提到,我在8天内把所有的Oracle DBA类以及数据建模和sql调优类都带回来,所以我知道“EXPLAIN”,但是更多的是告诉你,查询,不一定如何使其更好。 (例如,当var = 1或var = 2’和’while var in(1,2)’在生成执行计划时被认为是相同的?如果我用10个排列做什么?什么时候是多列使用的索引?有没有办法让计划者优化最快的启动与最快的完成?从MysqL,Oracle或其他一些RDBMS移动时可能遇到什么样的“陷阱”?)

我可以编写任何复杂的查询数十个,如果不是数百种方式,我希望不必尝试所有,找到哪一个最好的尝试和错误。我已经发现’SELECT count(*)’不会使用索引,但是’SELECT count(primary_key)’将…可能是一个“经验丰富的sql用户的Postgresql”文档,解释了各种查询避免和如何最好地重写它们,或者如何让计划者更好地处理它们。

更新2:

我发现了一个Comparison of different SQL Implementations,它涵盖了Postgresql,DB2,MS-sqlMysqL,Oracle和Informix,并解释了可能尝试做什么的事情,如何和陷阱,以及他的引用部分链接Oracle / SQL Server / DB2 / Mckoi /MySQL Database Equivalents(这是它的标题建议)以及包含任何人贡献的wikibook SQL Dialects Reference(包括一些DB2,sqlite,MysqL,Postgresql,Firebird,Vituoso,Oracle,MS-sql,Ingres和Linter)。

http://www.postgresql.org/docs/current/static/indexes-examine.html

您可以提供提示:SET enable_indexscan TO false;会使Postgresql尝试不使用索引

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...