Зависи какво търсите и каква е заявката.
По принцип за всеки ред в EXPLAIN, който има Using where
, трябва да го имате с помощта на индекс (possible keys
и keys
колона). Това са вашите филтри и включват WHERE и ON. Да кажем Using index
е дори по-добре. Това означава, че има покриващ индекс и MySQL може да извлича данните направо от индекса, вместо да посещава реда в данните в таблицата.
Редовете, където няма Using where
, и връща голям брой редове, трябва да се разгледат. Това са връщащи стойности за всички редове в таблицата. Не знам какво е вашето запитване, така че не знам дали да се тревожа тук. Опитайте да филтрирате набора от резултати, за да намалите размера и да подобрите производителността.
Обикновено трябва да се опитвате да избягвате да виждате Using filesort
или Using temporary
, макар че те са лоши само ако не ги очаквате.
Сортирането на файлове обикновено се появява с клаузата ORDER. Обикновено искате MySQL да използва покриващ индекс (Using index
), така че редовете да се връщат вече по ред от сървъра. Ако не са, тогава MySQL трябва да ги поръча след това, използвайки сортиране на файлове.
Using temporary
може да е лошо, когато се отнася до производни таблици, защото нямат индекси. Изглежда, че изрично сте създали временна таблица с индекси, така че тук не е лошо. Понякога единственият ви избор е да използвате извлечена таблица и следователно Using temporary
.