这个意思是说,同样的语句如果只是参数不同,尽量使用绑定变量代替,然后在执行的时候将具体值传给sql语句,这样可以减少sql语句的硬解析——而硬解析是很耗资源的……
例如
select * from table1 where id = 1;
和
select * from table1 where id = 2;
这样简单的两条语句,在缺省情况下是不能够共享的。也就是说,系统认为这是两条不同的语句,两条语句需要分别解析。——如果类似的语句很多,这个成本就呈线性上涨
但是如果你使用参数
select * from table1 where id = p_id;
在执行的时候分别给p_id赋值为1和2,这就是相同的语句,相同的语句只需要1次硬解析。
无论执行多少次,解析语句的成本只有一次。