Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да ускоря MySQL заявка с клаузи WHERE в две колони?

Трябва да имате един индекс и за двете полета

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

Също така MySQL ще използва индекса с няколко колони до първото поле, за което има условие за диапазон в клаузата WHERE, така че в този случай редът има значение и timestamp трябва да е последно в индекса.

Както е предложено от @spencer7593, избирайки COUNT(1) вместо count(id) може и да е по-добре.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да генерирам следващ номер за автоматично увеличение в mysql с помощта на php?

  2. Изберете заявка с помощта на IN() и без никакво сортиране

  3. Премахване на елемент от масива по стойност в mysql json

  4. Съхранявайте чувствителни данни в Silverstripe 3.1

  5. Съхранявайте файловите пътеки в база данни