Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Представления каталога vs sys.fn_*  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1451
Доброго всем времени суток.

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

Если подробнее, то меня интересует запросы вида:
DECLARE @Value varchar(max)
SELECT @Value = isnull(CONVERT(VARCHAR(max), max(value)), '')
FROM sys.extended_properties WITH(NOLOCK)
WHERE class_desc = N'DATABASE' AND name = N'MY_PROPERTY' AND major_id = 0

SELECT @Value


в сравнении с:
DECLARE @Value varchar(max)
SELECT @Value = isnull(convert(varchar(max), max(value)), '')
FROM fn_listextendedproperty('MY_PROPERTY', default, default, default, default, default, default)

SELECT @Value


при анализе действительных планов запросов в первом случае предполагаемая стоимость составляет: 0,0066178
во втором:0,0032869 но поскольку второй запрос это функция, то при просмотре предполагаемого плана отдельно по второму запросу сам результат выполнения функции уже имеет стоимость: 2,6712....

Чисто из личного интереса задаю вопрос, поскольку хотелось бы разобраться в ситуации к какому методу получения значений лучше обращаться?
18 июл 14, 18:39    [16326977]     Ответить | Цитировать Сообщить модератору
 Re: Представления каталога vs sys.fn_*  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
felix_ff
при анализе действительных планов запросов в первом случае предполагаемая стоимость составляет: 0,0066178
во втором:0,0032869 но поскольку второй запрос это функция, то при просмотре предполагаемого плана отдельно по второму запросу сам результат выполнения функции уже имеет стоимость: 2,6712....
Не страдайте фигней.

felix_ff
Чисто из личного интереса задаю вопрос, поскольку хотелось бы разобраться в ситуации к какому методу получения значений лучше обращаться?
К тому который удобнее в использовании.
18 июл 14, 20:20    [16327355]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить