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

Заявката за избор на MySQL е ужасно бавна

select max(buy) from price where marketId=309;

Създаването на отделни индекси за всяка колона вероятно не позволява на MySQL да оптимизира заявката.

За тази заявка искате съставен индекс на (marketId, buy) .

create index idx_price_market_buy ON price (marketId, buy);

Подреждането на колоните в индекса има значение:първо заявката филтрира по marketId (така че искате тази колона да е на първа позиция в индекса на сборника), след това той изчислява максималната buy .




  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 от същата таблица

  2. Заявка за актуализиране на MySQL с помощта на ляво присъединяване

  3. Има ли начин за завъртане на редове към колони в MySQL, без да се използва CASE?

  4. SQL за проверка дали базата данни е празна (няма таблици)

  5. Docker mysql не може да се свърже с контейнера