哪个是PostgreSQL用于查询处理和优化的中间语言?

时间:2015-05-21 11:27:27

标签: postgresql query-optimization

我目前正在撰写关于PostgreSQL的论文,但我找不到任何地方(包括他们的文档),这是用于查询处理和优化的中间语言。

1 个答案:

答案 0 :(得分:4)

没有中间语言"就这样。

将SQL解析为Node*的解析树。然后将其传递给查询重写器,然后由规划器/优化器转换为计划树。您可以使用(记录的)选项debug_print_parsedebug_print_rewrittendebug_print_plan查看这些树。

请参阅源代码 - 特别是src/backend/parser/src/backend/rewritesrc/backend/optimizer/,以及src/include/nodes/nodes.hplannodes.hparsenodes.h等。请注意,优化器和解析器源目录中都有README个文件。