PG中的绑定变量
Tags: PGPostgreSQL绑定变量
简介
当我们在PostgreSQL中分析一些历史的SQL问题时,往往看到的SQL都是带有绑定变量的。而对于pg,我们没法像Oracle一样通过例如dba_hist_sqlbind之类的视图去获取历史的绑定变量值。不仅如此,对于这些带有绑定变量的SQL,我们甚至没法像在Oracle中一样获取一个预估的执行计划。
在pg中使用explain去执行则会报错:
1 2 3 4 | bill=# explain select * from t1 where id = $1 and info = $2; ERROR: there is no parameter $1 LINE 1: explain select * from t1 where id = $1 and info = $2; ^ |
我们似乎只能去通过带入值去获取相应的执行计划了,这对于那些绑定变量很多的SQL来说无疑是十分繁琐的。那有没有什么方法能像Oracle中那样,即使是有绑定变量的SQL,在plsql developer中一个F5就显示了预估的执行计划呢?