Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Permintaan saya berjalan lebih cepat untuk kedua kalinya, bagaimana cara menghentikannya?

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 |
---------------------------------------------------------------------------------------------------------------------


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mendapatkan stempel waktu file menggunakan PL/SQL

  2. Pengaturan NLS_NUMERIC_CHARACTERS untuk desimal

  3. Kursus kilat penyetelan kinerja Oracle PL/SQL

  4. Perintah pencarian untuk mencari Kolom/bidang di SQLPLUS untuk Oracle 10.2

  5. Oracle 10g menerima 5 digit tahun dalam satu Tanggal