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

Oracle:Hapus dari bawah ke atas

Karena Anda tertarik dengan algoritme, pertanyaan Anda tampaknya menjadi perbedaan antara IN dan EXISTS karena dua contoh Anda sama, simpan untuk IN mengubah ke EXISTS di hapus dari CHILD tabel.

Ada cukup banyak tulisan tentang perbedaan ini selama bertahun-tahun tetapi pada intinya IN umumnya digunakan di mana jumlah pembanding kecil sedangkan EXISTS lebih efisien untuk subkueri yang mengembalikan jumlah komparator yang lebih besar (terutama jika nilai tersebut berisi banyak duplikat).

IN harus mengevaluasi setiap pembanding yang dikembalikan saat EXISTS puas ketika bertemu pertandingan pertama.

Ada pengecualian untuk ini dan jika Anda mencarinya di Google maka Anda akan menemukannya tetapi secara keseluruhan ini tampaknya benar.

Tom Kyte (Oracle VP) memiliki jawaban yang sangat bagus dengan penjelasan di sini:http://asktom.Oracle.com/pls/asktom/f?p=100:11:2148775836129778::::P11_QUESTION_ID:953229842074

TechRepublic juga memiliki penjelasan yang bagus di sini:http://www.techrepublic.com/article/Oracle-tip-understand-the-difference-between-in-and-exists-in-subqueries/5297080

Semoga membantu...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle ERROR:ORA-00900:pernyataan SQL tidak valid

  2. Cara Mengatur Direktori Tujuan Arsip Log di Oracle Database

  3. Membuat pemicu untuk hanya berjalan ketika tabel baru sedang dibuat

  4. Mengubah kueri ini untuk mengelompokkan baris dan memfilter semua baris selain yang memiliki nilai terkecil

  5. sql Optimizer untuk Tabel Db Besar