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

MySQL бавна заявка с присъединяване, въпреки че EXPLAIN показва добър план

Не съм експерт в тази област, но ето няколко мисли:

Скоростта на заявката отнема повече време, когато g.F2 промените се дължат на кеширане. MySQL ще запази резултатите за всяка заявка (докато кешът се запълни), но новите заявки се изпълняват на празен кеш, така че отнемат повече време. Не трябва да оптимизирате въз основа на това. (Вижте Как да измерете точно )

От вашата информация не мога да разбера дали g или gp таблицата има по-голяма специфичност (изглежда като gp ?) в where клауза, но може да искате да опитате подзаявка вместо това. (Вижте Как да принудим вътрешната заявка да се изпълни първа )

По отношение на профилирането е възможно да достигнете физически праг като превишаване на разпределението на ram (използването на swap е катастрофално за производителността), което не би било очевидно от explain , или дали explain е просто погрешно в този случай.



  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 изчислява плъзгащата се средна стойност на N реда

  2. ER_FK_NO_INDEX_PARENT:Неуспешно добавяне на ограничението за външен ключ. Липсващ индекс за ограничение

  3. ИЗТРИВАНЕ ОТ `таблица` КАТО `псевдоним` ... КЪДЕ `псевдоним`.`колона` ... защо синтактична грешка?

  4. sql заявка за извличане на уникални записи

  5. Пребройте различни стойности