Menghapus cache untuk mengukur kinerja dimungkinkan tetapi sangat berat.
Ukuran yang sangat baik untuk melacak kinerja yang dicapai dari upaya penyetelan adalah menghitung jumlah blok baca selama eksekusi kueri. Salah satu cara termudah untuk melakukannya adalah menggunakan sqlplus dengan autotrace, seperti:
set autotrace traceonly
<your query>
keluaran
...
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
1 consistent gets
0 physical reads
0 redo size
363 bytes sent via SQL*Net to client
364 bytes received via SQL*Net from client
4 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
Jumlah blok yang dibaca, baik dari cache atau dari disk, consistent gets
.
Cara lain adalah menjalankan kueri dengan peningkatan statistik yaitu dengan petunjuk gather_plan_statistics
dan kemudian melihat rencana kueri dari cache kursor:
auto autotrace off
set serveroutput off
<your query with hint gather_plan_statistics>
select * from table(dbms_xplan.display_cursor(null,null,'typical allstats'));
Jumlah blok yang dibaca adalah output di kolom buffers
.
---------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | Cost (%CPU)| E-Time | A-Rows | A-Time | Buffers |
---------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 3 | | 1 (100)| | 3 |00:00:00.01 | 3 |
| 1 | SORT AGGREGATE | | 3 | 1 | | | 3 |00:00:00.01 | 3 |
| 2 | INDEX FULL SCAN| ABCDEF | 3 | 176 | 1 (0)| 00:00:01 | 528 |00:00:00.01 | 3 |
---------------------------------------------------------------------------------------------------------------------