Вызов функции для неиндексированного столбца, в котором предложение where повлияет на производительность. - PullRequest
0 голосов
/ 06 июня 2018

Я понимаю, что если мы используем вызов функции для индексированного столбца в предложении where, ядро ​​SQL-сервера будет игнорировать этот индекс и выполнять операцию сканирования вместо поиска.

Просто мне нужно понять, вызов функции будет выполнен для не-индексированный столбец в выражении where будет влиять на производительность?

1 Ответ

0 голосов
/ 06 июня 2018

Вызов функции для неиндексированного столбца будет влиять только на производительность, поскольку накладные расходы на сам вызов функции.Выполнение вызова функции для этого столбца не может исключить использование индекса, который не существовал в первую очередь.

Вы сказали:

Механизм сервера SQL будет игнорировать этот индекс и выполнятьоперация поиска вместо поиска.

Небольшое исправление состоит в том, что SQL Server не поддерживает индексы на основе функций (хотя Oracle и некоторые другие базы данных поддерживают).В SQL Server, если вам нужен индекс на основе функции, вы можете обойти это, используя материализованное представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...