Страницы

Поиск по вопросам

среда, 4 марта 2020 г.

SQL-Server - Что такое SARG аргумент?

#sql #sql_server


Добрый день, подскажите, пожалуйста, что такое SARG аргумент и как оптимизатор его
использует?
    


Ответы

Ответ 1



SARG = Seekable ARGument, такой аргумент, при подстановке которого в условие WHERE позволяет использовать индекс. Например: SELECT * FROM myTable WHERE id = 3; сможет использовать индекс по полю id, а : SELECT * FROM myTable WHERE (id * 3) = 3; нет, так как потребуется домножить каждое значение id в таблице, что равнозначно полному перебору. NonSARG может здорово затормозить выполнение ваших запросов, особенно часто такие аргументы получаются в результате каста значений кортежа к другому типу.

Комментариев нет:

Отправить комментарий