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

Bagaimana memahami statistik file jejak di Oracle. Seperti CPU, waktu yang telah berlalu, kueri...dll

Unit akses data terkecil di Oracle Database adalah blok. Tidak berturut-turut.

Setiap blok dapat menyimpan banyak baris.

Basis data dapat mengakses blok dalam mode saat ini atau konsisten.

  • Saat ini =karena blok ada "sekarang".
  • Konsisten =karena yang diblokir ada pada saat kueri Anda dimulai.

Kueri dan kolom saat ini melaporkan berapa kali database mengakses blok dalam mode konsisten (kueri) dan saat ini.

Saat mengakses sebuah blok mungkin sudah berada di buffer cache (memori). Jika demikian, tidak diperlukan akses disk. Jika tidak, ia harus melakukan pembacaan fisik (pr). Kolom disk adalah jumlah total pembacaan fisik.

Statistik untuk setiap baris dalam rencana adalah angka untuk operasi itu. Ditambah jumlah semua operasi turunannya.

Secara sederhana, database memproses rencana dengan mengakses anak pertama terlebih dahulu. Kemudian meneruskan baris ke orang tua. Kemudian semua operasi anak lain dari orang tua itu secara berurutan. Operasi turunan diindentasi dari induknya di tampilan.

Jadi database memproses kueri Anda seperti ini:

  1. Baca 2.000 baris dari PELANGGAN. Ini membutuhkan 749 blok yang konsisten dan 363 pembacaan disk (nilai cr dan pr pada baris ini). Ini membutuhkan waktu 10.100 mikrodetik.
  2. Baca 112.458 baris dari PEMESANAN. Ini melakukan 8.203 pembacaan yang konsisten dan pembacaan disk nol. Ini membutuhkan waktu 337.595 mikrodetik
  3. Gabungkan kedua tabel ini menggunakan hash join. Nilai CR, PR, PW (penulisan fisik) dan waktu adalah jumlah dari operasi di bawah ini. Ditambah pekerjaan apa pun yang dilakukan operasi ini. Jadi hash bergabung:
    • apakah 8.952 - ( 749 + 8.203 ) =nol pembacaan yang konsisten
    • did 363 - ( 363 + 0 ) =nol pembacaan fisik
    • membutuhkan 1.363.447 - ( 10.100 + 337.595 ) =1.015.752 mikrodetik untuk dieksekusi

Perhatikan bahwa total CR &PR untuk hash join cocok dengan kueri dan total disk di baris pengambilan?

Kolom hitungan melaporkan berapa kali operasi itu terjadi. Fetch adalah panggilan ke database untuk mendapatkan baris. Jadi klien menelepon database 7.499 kali. Setiap kali menerima ceil( 112.458 / 7.499 ) =15 baris.

CPU adalah total waktu dalam detik prosesor server menjalankan langkah itu. Berlalu adalah total waktu jam dinding. Ini adalah waktu CPU + pekerjaan ekstra apa pun. Seperti pembacaan disk, waktu jaringan, dll.




  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 kesalahan saat membuat tabel sebagai ORA-00904::pengidentifikasi tidak valid di database Oracle sql

  2. Konektor Microsoft SSIS untuk Oracle oleh Attunity untuk VS2015 Tidak Ditampilkan

  3. Pengoptimal di Oracle Database 19c

  4. Kunci Asing tanpa kunci utama untuk merujuk

  5. Memahami hasil Execute Explain Plan di Oracle SQL Developer