如何进入PostgreSQL的优化器并跟踪优化查询所需的每个步骤?


8

就像SQL Server中的MEMO结构一样,优化器在优化查询时采取了一些步骤。PostgreSQL是否具有类似的结构来记录优化程序采取的步骤?

Answers:


3

不,没有详细的优化程序审核/报告结构或功能。

最好的工具是“ gdb”。与MS SQL Server不同,PostgreSQL是开源的。您可以在启用调试符号的情况下进行构建,附加调试器并准确跟踪其运行情况。

当然,这并不意味着容易。一组罐头的断点和gdb宏可以很好地跟踪计划程序/优化程序的工作。我目前还不知道任何此类工具。

gdb的跟踪点或perf用户空间跟踪点对您将非常有用。

您还可以启用详细的调试日志记录和一些跟踪参数,postgresql.conf然后检查生成的详细日志文件。

PostgreSQL开发人员常见问题解答中有一些文档(我已经添加了有关转储计划树等的信息):https : //wiki.postgresql.org/wiki/Developer_FAQ。这可能很有用。您还应该阅读主要的开发人员文档。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.