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

Bagaimana dan kapan indeks digunakan dalam operasi INSERT dan UPDATE?

Untuk pernyataan UPDATE, indeks dapat digunakan oleh pengoptimal jika dianggap indeks dapat mempercepatnya. Indeks akan digunakan untuk menemukan baris yang akan diperbarui. Indeks juga merupakan tabel dengan cara berbicara, jadi jika kolom yang diindeks diperbarui, jelas perlu UPDATE indeks juga. Di sisi lain jika Anda menjalankan pembaruan tanpa klausa WHERE pengoptimal dapat memilih untuk tidak menggunakan indeks karena harus mengakses seluruh tabel, pemindaian tabel lengkap mungkin lebih efisien (tetapi mungkin masih harus memperbarui indeks ). Pengoptimal membuat keputusan tersebut saat runtime berdasarkan beberapa parameter seperti apakah ada statistik yang valid terhadap tabel dan indeks yang dimaksud, berapa banyak data yang terpengaruh, jenis perangkat keras apa, dll.

Untuk pernyataan INSERT meskipun INSERT itu sendiri tidak memerlukan indeks, indeks juga perlu 'dimasukkan ke dalam', sehingga perlu diakses oleh Oracle. Kasus lain di mana INSERT dapat menyebabkan indeks digunakan adalah INSERT seperti ini:

INSERT INTO mytable (mycolmn)
SELECT mycolumn + 10 FROM mytable;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa perbedaan antara AS dan IS dalam prosedur tersimpan Oracle?

  2. Bagaimana menangani pengecualian kursor ketika kueri pemilihan mengembalikan nol catatan

  3. Bagaimana Anda bisa mengetahui kolom mana yang tidak digunakan di ALL_TAB_COLS?

  4. Bagaimana Mengekspor Data dari Oracle SQL Developer ke Excel?

  5. Hubungkan OEM Anda ke Grafana menggunakan Aplikasi Manajer Perusahaan untuk Grafana