如何变量绑定?
 这个变量绑定 听说有足于提高性能! 好象是征对PL/SQL语句而言,提高性能 语句要得数据在数据缓冲里,语句的执行计划已经存在于内存不必在去分析了。
变量绑定好象是然Oracle不必对该语句进行分析,直接拿内存存在的计划!
先执行这条语句 Select * From Student Where Name= ‘Shark’
下面的这些语句按道理来说好象都能利用到上面的执行计划吧!
Select * From Student where Name =:Fname 
Select * From Student Where Name =:Fname and Age =25 
Select Name Age From Student Where Name=:FName 

解决方案 »

  1.   

    很简单,你可以每执行一条sql,就select name,value from v$sysstat where name like '%parse%';
    看parse count (hard)增加没有.而且和cursor_sharing的值有关系的.
      

  2.   

    变量绑定,在写sql语句时,每一个字符都必须一模一样(大小写,空格都算),这样oracle才能认为是一个sql语句 ,在调用的时候就不用在第二次编译了,直接给它的参数就成了。
      

  3.   

    最好把sql语句写到存储过程当中去,这样每次都调用的肯定就是同一个sql语句了,只要给它传参数就可以了
      

  4.   

    Oracle在执行一条语句的时候,分析和编译的时间占总时间的60%,采用Oracle硬编码所编写的Sql语句,就可以减少oracle对该语句的再次编译的时间了,这也是它能提高性能的原因
      

  5.   

    這麼說
    Select * From Student where Name =:Fname 
    Select * From Student Where Name =:Fname and Age =25 
    Select Name Age From Student Where Name=:FName 這三句就不能共用執行計劃啦 也就是不能綁定變量!!!單獨一句的
    Select * From Student where Name =:Fname 
    帶不同的名字進去 就能起到共用執行計劃,綁定變量!!