对于优化SQL语句来说,最主要是要分析语句的执行过程,在Oracle中,我们用EXPLAIN TABLE来完成。
首先,先建立EXPLAIN 表,使用Oracle自带的脚本${ORACLE_HOME}\RDBMS\ADMIN\utlxplain.sql来建立。在sqlplus里面输入 @C:\Oracle\Ora81\RDBMS\ADMIN\utlxplain.sql。
接下来就可以分析语句了: EXPLAIN TABLE SET STATEMENT_ID='QUERY1' FOR SELECT * FROM TB_TEST WHERE NID = 1000;
然后,在使?#195;@C:\Oracle\Ora81\RDBMS\ADMIN\utlxpls.sql脚本,来参考语句执行计划:
Plan Table --------------------------------------------------------------------------------
| Operation | Name | Rows | Bytes| Cost | Pstart| Pstop |
--------------------------------------------------------------------------------
| SELECT STATEMENT | | | | | | |
| TABLE ACCESS BY INDEX ROW|TB_TEST | | | | | |
| INDEX UNIQUE SCAN |SYS_C0013 | | | | | |
--------------------------------------------------------------------------------
上面这个就是执行计划,我们可以看到他是先使用索引扫描,然后再查找表数据的。
|
|