Оптимизация MySQL: EXPLAIN «Extra» столбец содержит «Using Where»

Так что я всегда думал, что видеть «Использование где» в столбце Extra - это хорошо. Тем не менее, я планировал обед из коричневой сумки для своих коллег по работе с EXPLAIN, и теперь я не уверен. В документе MySQL говорится об этом в примечаниях к «Использование Where»:

Предложение WHERE используется для ограничения того, какие строки сопоставлять со следующей таблицей или отправлять клиенту. Если вы специально не собираетесь извлекать или проверять все строки из таблицы, у вас может быть что-то не так в вашем запросе, если значение Extra не использует where, а тип соединения таблицы - ALL или index. Даже если вы используете индекс для всех частей предложения WHERE, вы можете увидеть Использование where, если столбец может иметь значение NULL.

Это наводит меня на мысль, что даже если мое предложение WHERE содержит только части индекса , что MySQL все равно будет проверять строки, если столбцы могут иметь значения NULL.

Верно ли это? Если да, следует ли мне изменить столбцы, чтобы не включать NULL, если он мне не нужен? Увижу ли я повышение скорости?

7
задан Mike Sherov 9 August 2011 в 21:50
поделиться