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

Откуда: Oberbayern
Сообщений: 128
Столкнулся с таким феноменом:
при запуске sp_columns для получения типов данных столбцов вьюх, в зависимости от того содержит ли имя просмотра символ "подчеркивания" ("_"), очень сильно (более, чем на порядок!) отличается время выполнения самой процедуры.

Вопроса два: известно ли о такой "странности" всеведущему all, и, если я правильно установил причину - можно ли это как-то обойти/ускорить не меняя названия вью.

Спасибо!!
5 янв 12, 16:50    [11862394]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения sp_columns?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ну так поиск по имени столбца происходит по LIKE
А символ "_" является одним из шаблонов нечеткого поиска
5 янв 12, 16:58    [11862421]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения sp_columns?  [new]
abanamat
Member

Откуда: Oberbayern
Сообщений: 128
Glory,

блин, ну да, логично....
т.е. изменить ситуацию никак? (типа настроек сервера или альтернативных методов)

sp_columns у нас используется в служебных процедурах в интерфейсах для разработчиков, для получения типов данных столбцов в просмотрах.
5 янв 12, 17:07    [11862449]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения sp_columns?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Механизм работы LIKE не меняется никакими настройками
Используйте другие способы
Например INFORMATION_SCHEMA.COLUMNS
5 янв 12, 17:31    [11862512]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения sp_columns?  [new]
abanamat
Member

Откуда: Oberbayern
Сообщений: 128
Glory,

Спасибо! То что нужно!
5 янв 12, 17:35    [11862523]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения sp_columns?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31949
abanamat
т.е. изменить ситуацию никак? (типа настроек сервера или альтернативных методов)
Используйте маскирование подчёркивания:
sp_columns 'view[_]name'

Тем более это единственный правильный способ находить имя - sp_columns 'view_name' будет выдавать ошибочные результаты.
6 янв 12, 13:41    [11864517]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить