欢迎来到天天文库
浏览记录
ID:17898483
大小:21.74 KB
页数:14页
时间:2018-09-09
《oracle绑定变量及举例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.什么是绑定变量,及举例什么是绑定变量,问什么要进行绑定变量?Sql语句的执行要经过解析、执行、提取等几个阶段,其中解析最消耗资源,解析的过程中要进行语法、语义和权限的检查,如果这些检查都通过了,则进行执行,执行完成之后将sql语句的执行计划存储在共享池中,如果下一次有相同的sql语句要执行,则不需要解析,直接按照已经存在的执行计划进行执行,就可以节省资源当多个sql语句执行的时候大多数情况下是条件相同,只是条件里面的值不同。例如:A用户:select*fromtwhereID=1B用户:select*fromtwhereID=2绑定变
2、量就是将条件谓词中不同的值保存在一个中间变量中,Oracle对用户每次发起的sql语句做hash运算时,都产生相同的hash值,使用相同的执行计划,作为一个sql语句来执行。Select*fromtwhereID=:X下面是绑定变量和非绑定变量的性能比较1)绑定变量执行altersessionsetsql_trace=true;beginforxin1..10000loopexecuteimmediate'select*fromtwhereobject_name=:x'usingx;endloop;end;altersessionsets
3、ql_trace=false;trace文件中的执行计划和统计信息SQLID:gdp68zfsdqrbcPlanHash:1601196873select*fromtwhereobject_name=:xcallcountcpuelapseddiskquerycurrentrows-----------------------------------------------------------------------Parse10.000.000000Execute100000.150.170000Fetch00.000.000000
4、-----------------------------------------------------------------------total100010.150.170000Missesinlibrarycacheduringparse:0Optimizermode:ALL_ROWSParsinguserid:5(SYSTEM)(recursivedepth:1)RowsRowSourceOperation----------------------------------------------------------0TA
5、BLEACCESSFULLT(cr=0pr=0pw=0time=0uscost=301size=196card=2)RowsExecutionPlan----------------------------------------------------------0SELECTSTATEMENTMODE:ALL_ROWS0TABLEACCESSMODE:ANALYZED(FULL)OF'T'(TABLE)*******************************************************************
6、*************OVERALLTOTALSFORALLNON-RECURSIVESTATEMENTScallcountcpuelapseddiskquerycurrentrows-----------------------------------------------------------------------Parse20.000.000000Execute31.281.250001Fetch00.000.000000---------------------------------------------------
7、--------------------total51.281.260001Missesinlibrarycacheduringparse:2Missesinlibrarycacheduringexecute:1OVERALLTOTALSFORALLRECURSIVESTATEMENTScallcountcpuelapseddiskquerycurrentrows-----------------------------------------------------------------------Parse10.000.000000
8、Execute100000.150.170000Fetch00.000.000000------------------------------------------------------
此文档下载收益归作者所有