用动态SQL的好处是:同样的SQL他只会编译一次,以后只把有变量的位置换掉,这样速度大大提高
以上是个人的理解和实践出来的,网上面有人说存储过程里的SQL都是编译一次以后重复用的,我实际用的时候确实是用动态SQL比静态的至少快1个数量级,个别甚至10个数量级
动态SQL写法:
execute immediate
'select * from table t where t.id = :id'
using v_id;
意思就是用v_id 把sql语句的:id换掉
用动态SQL的好处是:同样的SQL他只会编译一次,以后只把有变量的位置换掉,这样速度大大提高
以上是个人的理解和实践出来的,网上面有人说存储过程里的SQL都是编译一次以后重复用的,我实际用的时候确实是用动态SQL比静态的至少快1个数量级,个别甚至10个数量级
动态SQL写法:
execute immediate
'select * from table t where t.id = :id'
using v_id;
意思就是用v_id 把sql语句的:id换掉