У меня есть таблица MySQL с 3-мя полями:Добавление полей для оптимизации MySQL запросов
- Расположение
- Переменная
- Value
Я часто использую следующий запрос:
SELECT *
FROM Table
WHERE Location = '$Location'
AND Variable = '$Variable'
ORDER BY Location, Variable
У меня более миллиона строк в м y таблица и запросы несколько медленны. Увеличится ли скорость запроса, если я добавлю поле VariableLocation
, которое представляет собой переменную и местоположение в сочетании? Я мог бы изменить запрос:
SELECT *
FROM Table
WHERE VariableLocation = '$Location$Variable'
ORDER BY VariableLocation
-1 - Вы можете объяснить, почему это произошло бы с точки зрения того, как MySQL управляет данными или оптимизировать запросы? – kdgregory
Нет, я не могу объяснить вам хотя бы потому, что я не могу проголосовать за вас сначала, как вы это сделали !!! – Sarfraz
Если вы не можете объяснить что-то с точки зрения известного поведения, то вы не даете реального ответа. У вас нет оснований для того, чтобы сказать «определенно увеличить производительность», потому что вы не знаете, почему это так.Как бы то ни было, вы сказали ОП точно, что он хотел услышать, что в лучшем случае распространяется на безобидное суеверие, в худшем случае его запросы будут выполняться хуже. Сравните это с другими плакатами, которые действительно дали обоснованные объяснения для добавления индекса. – kdgregory