Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Indeks apa yang harus saya gunakan saat menggunakan JOIN pada PRIMARY KEY

Ada dua strategi pengindeksan potensial di sini, tergantung pada mana dari dua tabel yang muncul di sisi kiri gabungan dalam (salah satu tabel berpotensi muncul di kedua sisi gabungan). Mengingat bahwa HotelRoom tabel kemungkinan berisi lebih banyak catatan daripada Hotel tabel, saya sarankan menempatkan Hotel tabel di sisi kiri gabungan. Ini menyiratkan bahwa Hotel tabel akan dipindai, dan indeks yang digunakan untuk bergabung ke HotelRoom . Kemudian, kita dapat mencoba menggunakan indeks berikut di HotelRoom :

CREATE INDEX hotel_room_idx ON HotelRoom (HotelId, Deleted, Enabled, Name, RoomId);

Ini akan mempercepat penggabungan secara substansial, mencakup WHERE klausa, dan juga mencakup semua kolom di pilih di HotelRoom . Perhatikan bahwa indeks sederhana berikut mungkin juga sangat efektif:

CREATE INDEX hotel_room_idx ON HotelRoom (HotelId, Deleted, Enabled);

Ini hanya mencakup bergabung dan WHERE klausa, tetapi MySQL mungkin masih memilih untuk menggunakannya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat membuat koneksi ke database GlassFish dengan Netbeans?

  2. Caching pernyataan yang disiapkan PDO

  3. Django:Kesalahan sintaks MySQL saat meneruskan parameter ke kueri SQL mentah

  4. DI MANA semuanya TIDAK NULL

  5. cara menyimpan bahasa India seperti Telugu, Hindi di database mysql