Важливо визнати, що SQL є декларативною мовою. У SELECT
написаному вами запиті вказуються логічні результати, які слід повернути. Саме ефективна фізична стратегія для повернення цих результатів повинна визначати механізм бази даних, зокрема оптимізатор запитів.
Остаточний план фізичного виконання буде залежати від можливостей міркування оптимізатора, кількості часу, який він готовий витратити на вирішення проблеми, наявності відповідних методів доступу (насамперед індексів та матеріалізованих поглядів), репрезентативної статистичної інформації та конкретного шляху коду специфікація запиту бере код оптимізації.
Загалом, якщо дизайн вашої бази даних є реляційним, ви надаєте хороші методи доступу та точну статистичну інформацію, а запит добре написаний, оптимізатор зазвичай знайде розумну стратегію фізичного виконання, не потрібно занадто турбуватися про письмову форму надто специфікація запиту
Завжди знайдуться випадки, коли висловлення однієї і тієї ж логічної вимоги, використовуючи різні (але семантично ідентичні) синтаксиси, впливатиме на план фізичного виконання, але це має бути вторинним питанням. Знову ж таки, як правило, розглядати висловлення запиту можна по-іншому, якщо характеристики виконання неприйнятні, як тільки всі основні згадані основи будуть охоплені.
Вкрай рідко вкрай рідко, коли письмовий порядок простих сполучникових WHERE
предикатів (як у питанні) впливає на план фізичного виконання будь-яким вимірюваним способом. Коротше кажучи, це не те, про що варто витрачати час на занепокоєння. Спершу отримайте дизайн баз даних, індекси та статистичну інформацію.
Відповісти на питання безпосередньо (зрештою!), Додавання додаткової надлишкової умови може підвищити продуктивність, але лише якщо це дозволяє використовувати більш ефективний метод доступу - наприклад, якщо є лише індекс на (BitField, VarcharField). Якби вже був індекс на (VarcharField), він додав би лише накладні витрати.
Як деталь реалізації, ні, SQL Server не розглядає вартість порівнянь залежно від типу даних або очевидної складності обчислень. Насправді, скалярні операції взагалі недорого коштують , але це веде до цілої окремої теми.
Пов’язані запитання:
Логічні оператори АБО І в умові та порядку в WHERE
SQL Server 2008 та постійних виразах
Побітові оператори, що впливають на продуктивність Странна поведінка оператора
SQL