目前性能测试过程经常碰到一些由于sql语句的问题造成性能差的问题,有时我们虽然捕捉到相关应sql语名了,但是也不知道怎么分析。我们可以通过开启set autot on来进行简单的分析如索引,执行计划等,而最终更有针对性进行性能优化。以下是一个简单的实例:
SQL> set autot on
SQL> conn portal51/portal51
已连接。
SQL> select count(*) from mh_xtmk;
COUNT(*)
----------
555
SQL> set autot on
SQL> select count(*) from mh_xtmk;
COUNT(*)
----------
555
执行计划
----------------------------------------------------------
Plan hash value: 538866314
----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | INDEX FAST FULL SCAN| PK_MH_XTMK | 555 | 2 (0)| 00:00:01 |
----------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
统计信息
----------------------------------------------------------
0 recursive calls
0 db block gets
3 consistent gets
0 physical reads
0 redo size
409 bytes sent via SQL*Net to client
385 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
SQL> set autot off
SQL> conn sys/bsoft as sysdba;
已连接。
SQL> set autot off