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

Apakah indeks akan digunakan jika Anda menanyakan subset kolom indeks?

Dokumentasi MySQL melakukan pekerjaan yang baik untuk menjelaskan cara kerja indeks multi-kolom di sini .

Secara umum, indeks dapat digunakan untuk where klausa ketika sejumlah kolom di paling kiri sisi indeks memiliki kondisi kesetaraan. where Your Anda klausa menggunakan kolom berikut:

  • c1, c2
  • c1, c2, c3, c4
  • c1, c2
  • c1, c2, c5

Setiap indeks yang dimulai dengan kolom c1 dan c2 biasanya akan digunakan untuk kueri ini. MySQL dapat menerapkan kondisi lain untuk menggunakan indeks, seperti selektivitas. Artinya, jika c1 dan c2 memiliki nilai konstan (misalnya) maka menggunakan indeks tidak akan menguntungkan kueri.

Untuk mengoptimalkan semua kombinasi ini, Anda dapat membuat dua indeks:c1, c2, c3, c4 dan c2, c1, c5 . Alasan untuk menukar c1 dan c2 di indeks kedua adalah agar Anda bisa menangani kueri yang kondisinya pada c2 tapi bukan c1 , serta sebaliknya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara melakukan penyisipan massal di mySQL menggunakan node.js

  2. Mendapatkan Data Traversal Pohon Preorder yang Dimodifikasi ke dalam Array

  3. Bagaimana cara kerja parameter 'LIMIT' di sql?

  4. Cara yang tepat untuk menanyakan apakah mysql_num_rows di PHP

  5. Bedakan antara 'tidak ada baris yang terpengaruh' dan baris yang berhasil DIPERBARUI--ke nilai yang sama (MySQL dan PHP)