我需要在PostgreSQL 8.3中解释应用程序生成的SQL语句。 我在日志中捕获了SQL语句,但它有很多绑定variables。 他们有什么办法可以解释这个SQL语句吗?
当我用绑定variables尝试它时,parsing器不喜欢它。 如果我将绑定variables更改为语句中使用的实际值,那么这不会改变数据的访问path吗?
根据你提供的价值,这个计划实际上可能会有所不同,所以没有办法做你想做的事情。 只要为您的查询优化/调优抛出一些真实的样本值。
更多细节:
使用绑定variables消除了第一个绑定查询之后的每个绑定查询的parsing步骤。 解释计划中没有介绍这一步骤。 但是,计划和查询执行发生在绑定步骤之后,这就是为什么您的解释计划不起作用。
这里是在PostgreSQL中build立查询的基本stream程(至less是我使用它的最后一次,这已经几年了):
接收 – >分析 – >绑定 – >计划 – >执行 – >返回