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

Използване на индекс, използване на временен, използване на filesort - как да поправя това?

Е, документът дава точните причини, когато „Използване на временно“ ще се появи:

Временни таблици могат да бъдат създадени при условия като тези:

Ако има клауза ORDER BY и различна клауза GROUP BY или ако ORDER BY или GROUP BY съдържа колони от таблици, различни от първата таблица в опашката за присъединяване, се създава временна таблица.

DISTINCT в комбинация с ORDER BY може да изисква временна таблица.

Ако използвате опцията SQL_SMALL_RESULT, MySQL използва временна таблица в паметта, освен ако заявката не съдържа и елементи (описани по-късно), които изискват съхранение на диск.

Бързо сканиране показва, че страдате от #1.

И този блог от 2009 г. казва, че "използването на файлово сортиране" означава, че сортирането не може да се извърши с индекс. Тъй като поръчвате по изчислено поле, това също ще е вярно.

Така че, това е "грешно".



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да четете и нулирате AUTO_INCREMENT в MySQL

  2. Активирайте Entity Framework 6 за MySql (C#) в WinForms на Microsoft Visual Studio 2013

  3. Как да стартирате, рестартирате, проверявате състоянието и спирате MySQL сървъра

  4. Какво е новото с MySQL репликацията в MySQL 8.0

  5. Как да управлявате бази данни с phpMyAdmin