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

Bagaimana Anda menafsirkan rencana penjelasan kueri?

Saya bergidik setiap kali saya melihat komentar bahwa tabel lengkap buruk dan akses indeks baik. Pemindaian tabel lengkap, pemindaian rentang indeks, pemindaian indeks penuh cepat, loop bersarang, gabungan gabungan, gabungan hash, dll. hanyalah mekanisme akses yang harus dipahami oleh analis dan dikombinasikan dengan pengetahuan tentang struktur basis data dan tujuan kueri dalam untuk mencapai kesimpulan yang berarti.

Pemindaian penuh hanyalah cara yang paling efisien untuk membaca sebagian besar blok segmen data (tabel atau tabel (sub) partisi), dan, meskipun sering dapat menunjukkan masalah kinerja, itu hanya dalam konteks apakah itu merupakan mekanisme yang efisien untuk mencapai tujuan kueri. Berbicara sebagai gudang data dan orang BI, tanda peringatan nomor satu saya untuk kinerja adalah metode akses berbasis indeks dan loop bersarang.

Jadi, untuk mekanisme cara membaca rencana penjelasan, dokumentasi Oracle adalah panduan yang baik:http://download.Oracle.com/docs/cd/B28359_01/server.111/b28274/ex_plan.htm#PFGRF009

Baca juga Performance Tuning Guide.

Juga memiliki google untuk "umpan balik kardinalitas", sebuah teknik di mana rencana penjelasan dapat digunakan untuk membandingkan estimasi kardinalitas pada berbagai tahap dalam kueri dengan kardinalitas aktual yang dialami selama eksekusi. Wolfgang Breitling adalah penulis metode ini, saya percaya.

Jadi, intinya:pahami mekanisme aksesnya. Memahami basis data. Pahami maksud kueri. Hindari aturan praktis.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Akses MS ke Oracle Konversi / Migrasi yang mudah

  2. Statistik Dinamis Adaptif Membunuh Performa di 12.1.0.2 RAC

  3. Urutan eksekusi kondisi dalam klausa 'di mana' SQL

  4. MySQL setara dengan peringkat ORACLES ()

  5. Paksa Oracle Jatuhkan Tabel Temp Global