2010-06-27 6 views
1

например: если есть два предложения WHERE: WHERE stringA = "value" AND intB = 1.Является ли порядок полей в предложении WHERE влияющим на производительность?

+1

Нет. Даже если бы это было так, оптимизатор запросов отвечает за подбор наилучшего плана выполнения. –

+1

Он может, будет зависеть от базы данных и т. Д. Я бы не стал беспокоиться об этом, пока вы не увидите медленный запрос. Затем вы можете играть с объяснениями, чтобы посмотреть, есть ли разница, и копать глубже. Некоторые примеры различий могут быть вызваны индексами или малыми данными, которые фильтруют ваш запрос. – bwawok

ответ

3

В простом запросе, например, нет. MySQL будет пытаться обрабатывать наиболее ограничительные фильтры в порядке приоритета, принимая во внимание любые индексы.

Когда вы входите в сложные запросы, которые объединяются или вставляются, может быть реальное искусство, как вы размещаете условия запроса, чтобы наилучшим образом ограничить количество строк, которые необходимо объединить.

Смежные вопросы