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

Откуда: Минск
Сообщений: 65
Есть сервак(2 проца квад хеон + SAS + 16Гб мозга). На нем SQLServer 9.0.3054.
Есть CLR триггер INSTEAD OF INSERT. Он выполняет операцию по разноске накладных, сопоставление по FIFO и LIFO и др.
Триггер использует TransactionScope для управления транзакциями. Работает с Linq To DataSet. Основные времязатраты при обращениях к БД через SqlCommand или SqlDataAdapter.
При этом скорость выполнения запросов приблизительна равна скорости выполнения при выражениях типа EXEC ("CREATE #TABLE.....") в TSQL. Получаем вывод, что больше всего времени уходит на компиляцию планов запросов. Это нормально. Но!!! При этом процессор спит, оперативка вроде тоже... Диск нагружен не сильно. Но при этом производительность вставки 100 запросов в 3 минуты.
Вопрос: как заставить сервер БД есть ресурсы сервера?
2 июл 09, 20:37    [7370682]     Ответить | Цитировать Сообщить модератору
 Re: Как заставить SQL Server 2005 использовать ресурсы (вопрос по CLR)  [new]
Crimean
Member

Откуда:
Сообщений: 13148
так не бывает, чтоп и очень медленно, а 100 запросов за 3 минуты - это неприлично медленно. 1 в секунду - уже неприлично медленно, но это уже вдвое больше, чем у вас. я бы сказал "порог терпимости" 5-10 в секунду и если хуже, то уже что-то надо серьезно менять
при этом сервер не может ни во что не упираться
я думаю или не туда смотрите или оборудование в принципе не способно
2 июл 09, 20:43    [7370698]     Ответить | Цитировать Сообщить модератору
 Re: Как заставить SQL Server 2005 использовать ресурсы (вопрос по CLR)  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
автор
Есть CLR триггер INSTEAD OF INSERT. Он выполняет операцию по разноске накладных, сопоставление по FIFO и LIFO и др.
Триггер использует TransactionScope для управления транзакциями. Работает с Linq To DataSet. Основные времязатраты при обращениях к БД через SqlCommand или SqlDataAdapter.


Глянуть бы на все это безобразие профайлером...
2 июл 09, 20:56    [7370722]     Ответить | Цитировать Сообщить модератору
 Re: Как заставить SQL Server 2005 использовать ресурсы (вопрос по CLR)  [new]
Crimean
Member

Откуда:
Сообщений: 13148
а нет ли там постоянных логон / логофов, причем из триггера? вот и время неприличное!
2 июл 09, 20:59    [7370727]     Ответить | Цитировать Сообщить модератору
 Re: Как заставить SQL Server 2005 использовать ресурсы (вопрос по CLR)  [new]
SculptoR
Member

Откуда: Минск
Сообщений: 65
Прошу прощения за то что отвлек. Проблема сама решилась. Сам в шоке. Просто после очередной пересборки триггера и очредного передеплоя... он заработал намного быстрее(100 зап/в 20 сек). Не менялась ни индексация, ни принципы триггера. Только кода стало больше :)
P.S. множественные логоны и логофы не используются. только контекстное подключение, открытое 1 раз, но оно отрабатывает на мой взгляд достаточно быстро(т.к. тригер открывающий контекстное подключение отрабатывает 10000 раз за 2 сек, что есть вполне нормально).
P.P.S. для экономии ресурсов к моменту запуска в работу планирую все запросы из этого триггера перетащить в SP дабы пошустрее работало(и не напрягалось на генерацию плана каждый раз).
7 июл 09, 11:46    [7385124]     Ответить | Цитировать Сообщить модератору
 Re: Как заставить SQL Server 2005 использовать ресурсы (вопрос по CLR)  [new]
B0rG
Member

Откуда: столичный город кудаблин
Сообщений: 619
SculptoR,

А никак нельзя перетащить все это дело из триггера в аппликейшн код?

На моем опыте с CLR Integration в 2005 там полно каких-то ограничений, что мне совсем не нравятся...
7 июл 09, 22:14    [7388876]     Ответить | Цитировать Сообщить модератору
 Re: Как заставить SQL Server 2005 использовать ресурсы (вопрос по CLR)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31220
B0rG
SculptoR,

А никак нельзя перетащить все это дело из триггера в аппликейшн код?

На моем опыте с CLR Integration в 2005 там полно каких-то ограничений, что мне совсем не нравятся...
А ещё лучьше в хранимую процедуру на T-SQL...
8 июл 09, 09:31    [7389555]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить