查询内联与扁平化
Query inlining vs. flattening
我在网上翻来覆去,找不到任何合理的答案。 SQL 查询中的内联和扁平化有什么区别?实际上,我确实可以互换使用两者,最终它们会导致相同的结果——一个大的单一查询,而不是很多原子查询。
但也许定义有所不同?例如内联仅指functions and flattening means convert subquery to join only as stands here? But in another source one can find an example of completely different transformation.
我想人们对“内联”和“扁平化”的定义可能略有不同,但 PostgreSQL 社区通常理解这些术语的方式是 内联 是将 LANGUAGE sql
函数的定义拉入主查询,而 扁平化 是将子查询或视图转换为子查询以外的其他内容,例如连接。
我在网上翻来覆去,找不到任何合理的答案。 SQL 查询中的内联和扁平化有什么区别?实际上,我确实可以互换使用两者,最终它们会导致相同的结果——一个大的单一查询,而不是很多原子查询。 但也许定义有所不同?例如内联仅指functions and flattening means convert subquery to join only as stands here? But in another source one can find an example of completely different transformation.
我想人们对“内联”和“扁平化”的定义可能略有不同,但 PostgreSQL 社区通常理解这些术语的方式是 内联 是将 LANGUAGE sql
函数的定义拉入主查询,而 扁平化 是将子查询或视图转换为子查询以外的其他内容,例如连接。