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

Permintaan MySql sederhana saya tidak menggunakan indeks

Saya kira Anda memiliki beberapa baris di tabel 'komentar', inilah mengapa MySQL melakukan pemindaian tabel lengkap alih-alih menggunakan indeks dalam kueri pertama Anda. Ini memperkirakan bahwa biaya pemindaian tabel lengkap mungkin lebih rendah daripada pencocokan indeks pertama dan kemudian pencarian baris.

Dalam kueri kedua Anda menggunakan indeks karena dimungkinkan untuk mendapatkan semua kolom kueri (kolom 'id') langsung dari indeks tanpa perlu mencari baris tabel setelah mencocokkan indeks. Ini adalah arti dari "Menggunakan indeks" informasi tambahan.

Coba jika dengan sejumlah besar baris di 'komentar' MySQL masih menggunakan pemindaian penuh, saya pikir itu akan menjadi perilaku yang aneh. Faktanya, saya telah menguji hal yang sama di MySQL versi 5.1 dan selalu menggunakan 'indeks' bahkan dengan beberapa baris.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO - kueri tidak memberikan hasil

  2. Transpose Baris ke Header di MYSQL

  3. PDO::FETCH_ASSOC tidak mengambil semuanya

  4. AUTO_INCREMENT dan LAST_INSERT_ID

  5. Kueri SQL yang tidak efisien