#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 может здорово затормозить выполнение ваших запросов, особенно часто такие аргументы получаются в результате каста значений кортежа к другому типу.
Комментариев нет:
Отправить комментарий