马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
甚至一个有经验的Windows管理者也可以轻松部署并开始学习它,而你不需投入一分钱来了解这个数据库。oracle|功能|优化
24.用EXPLAINPLAN剖析SQL语句
EXPLAINPLAN是一个很好的剖析SQL语句的工具,它乃至能够在不实行SQL的情形下剖析语句.经由过程剖析,我们就能够晓得ORACLE是怎样毗连表,利用甚么体例扫描表(索引扫描或全表扫描)和利用到的索引称号.
你必要依照从里到外,从上到下的序次解读剖析的了局.EXPLAINPLAN剖析的了局是用缩进的格局分列的,最外部的操纵将被开始解读,假如两个操纵处于统一层中,带有最小操纵号的将被起首实行.
NESTEDLOOP是多数不依照上述划定规矩处置的操纵,准确的实行路径是反省对NESTEDLOOP供应数据的操纵,个中操纵号最小的将被开始处置.
译者按:
经由过程理论,感应仍是用SQLPLUS中的SETTRACE功效对照便利.
举例:
SQL>list
1SELECT*
2FROMdept,emp
3*WHEREemp.deptno=dept.deptno
SQL>setautotracetraceonly/*traceonly能够不显现实行了局*/
SQL>/
14rowsselected.
ExecutionPlan
----------------------------------------------------------
0SELECTSTATEMENTOptimizer=CHOOSE
10NESTEDLOOPS
21TABLEACCESS(FULL)OFEMP
31TABLEACCESS(BYINDEXROWID)OFDEPT
43INDEX(UNIQUESCAN)OFPK_DEPT(UNIQUE)
Statistics
----------------------------------------------------------
0recursivecalls
2dbblockgets
30consistentgets
0physicalreads
0redosize
2598bytessentviaSQL*Nettoclient
503bytesreceivedviaSQL*Netfromclient
2SQL*Netroundtripsto/fromclient
0sorts(memory)
0sorts(disk)
14rowsprocessed
经由过程以上剖析,能够得出实践的实行步骤是:
1.TABLEACCESS(FULL)OFEMP
2.INDEX(UNIQUESCAN)OFPK_DEPT(UNIQUE)
3.TABLEACCESS(BYINDEXROWID)OFDEPT
4.NESTEDLOOPS(JOINING1AND3)
注:今朝很多第三方的工具如TOAD和ORACLE自己供应的工具如OMS的SQLAnalyze都供应了极为便利的EXPLAINPLAN工具.大概喜好图形化界面的伴侣们能够选用它们.
(待续)
珍贵的资金可以用于其他业务的启动,诸如市场、广告或调研和开发等。 |