Так что я всегда думал, что видеть «Использование Где» в столбце «Extra» - это хорошо.Тем не менее, я планировал обед с коричневой сумкой для моих коллег по интерпретации EXPLAIN, и теперь я не уверен в этом.В документе MySQL об этом говорится в примечаниях об «использовании где»:
Предложение WHERE используется для ограничения строк, которые должны сопоставляться со следующей таблицей или отправляемых клиенту.Если вы специально не собираетесь извлекать или проверять все строки таблицы, у вас может быть что-то не так в вашем запросе, если значение Extra не использует where, а тип объединения таблицы - ALL или index. Даже если вы используете индекс для всех частей предложения WHERE, вы можете увидеть Использование где, если столбец может быть NULL.
Это заставляет меня поверить, что даже еслимое предложение WHERE содержит только части индекса, поэтому MySQL будет по-прежнему проверять строки, если столбцы могут иметь значения NULL.
Это правда?Если так, я должен изменить столбцы, чтобы не включать NULL, если мне это не нужно?Увижу ли я повышение скорости?