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

Откуда:
Сообщений: 13
Здравствуйте, прошу вас помочь оптимизировать запрос, суть такова, оставить в основной базе информацию за 100 ближайших дней,а остальное перебросить в другую базу(обе базы на одном компьютере), и удалить из основной,
Установил модель восстановления - простая, индексы содержатся, TABLOCK используется, пробовал порциями по 100 дней, но все равно уходит много времени на обработку

declare 
@NumDays int,
@MaxDays int
set @NumDays = 100
set @MaxDays = 200
INSERT INTO KRN_SYS.dbo.KRN_SYS_TRACE_LOG WITH (TABLOCK) select * from KRN_SYS_TRACE_LOG
where DateDiff(d,DATE_CHANGE,GetDate())> @NumDays
and DateDiff(d,DATE_CHANGE,GetDate())<=@MaxDays

delete from KRN_SYS_TRACE_LOG WITH (TABLOCK)
where DateDiff(d,DATE_CHANGE,GetDate())> @NumDays
and DateDiff(d,DATE_CHANGE,GetDate())<=@MaxDays


Сообщение было отредактировано: 2 сен 14, 14:50
2 сен 14, 14:48    [16523885]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37068
С такими-то условиями неудивительно.

where DateDiff(d,-@NumDays,GetDate())< DATE_CHANGE
and DateDiff(d,-@MaxDays,GetDate())>=DATE_CHANGE


Сообщение было отредактировано: 2 сен 14, 14:51
2 сен 14, 14:51    [16523903]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Glory
Member

Откуда:
Сообщений: 104760
delete KRN_SYS_TRACE_LOG 
OUTPUT ... INTO  KRN_SYS.dbo.KRN_SYS_TRACE_LOG 
where DATE_CHANGE <= dateadd(dd,-@MaxDays, GetDate())
2 сен 14, 14:53    [16523914]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37068
А если версия позволяет, можно вообще одинм запросом на удаление с output-кляузой.
2 сен 14, 14:54    [16523922]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Selmarilion
Member

Откуда:
Сообщений: 13
Благодарю вас за помощь
2 сен 14, 15:00    [16523955]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Func123
Guest
Selmarilion
индексы содержатся
Но не используются, т.к. поле DATE_CHANGE передано в фунцкию
2 сен 14, 15:01    [16523973]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить