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

Bagaimana saya bisa mempercepat kueri MySQL dengan klausa WHERE pada dua kolom?

Anda harus memiliki satu indeks di kedua bidang

ALTER TABLE alert_hit ADD INDEX `IDX-alert_id-timestamp` (`alert_id`, `timestamp`);

MySQL juga akan menggunakan indeks multi kolom hingga bidang pertama yang ada kondisi rentang dalam klausa WHERE, jadi dalam hal ini urutan penting dan timestamp harus berada di urutan terakhir dalam indeks.

Seperti yang disarankan oleh @spencer7593 memilih COUNT(1) bukannya count(id) mungkin juga lebih baik.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mengganti nama dua tabel dalam satu operasi atom di MySQL

  2. Bagaimana mengubah nilai default kolom menggunakan prosedur

  3. Permintaan MySQL Insert tidak berfungsi dengan klausa WHERE

  4. Bisakah saya menggunakan kembali bidang terhitung dalam kueri SELECT?

  5. MySQL:perbedaan dua set hasil