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

Откуда:
Сообщений: 277
Есть две одинаковые хп ( условно старая и новая, отличаются только названием ) , лежащие в одной базе.
Сравнение результатов sp_helptext по ним дает различие только в имени.
Проблема в том что время выполнения у них на одних и тех же данных разное, отличается примерно в полтора раза.
Сравнений было несколько, с интервалом между ними более 10 часов, результат одинаковый - разница по времени выполнения
примерно полтора раза. Новая работает медленнее. Планы выполнения немного разные ( сравнивал xml около 136000 строк).
В чем может быть причина ?
sp_recompile к новой хп применял, ничего не изменяется. старую хп трогать нельзя.
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
10 сен 14, 09:49    [16557642]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения у одинаковых хп  [new]
Glory
Member

Откуда:
Сообщений: 104760
Планы выполнения у процедур тоже одинковые ?

Valer
Сравнений было несколько, с интервалом между ними более 10 часов,

Сравнить набо подряд несколько раз без перерывов
10 сен 14, 09:55    [16557668]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения у одинаковых хп  [new]
мимо
Guest
Valer
Планы выполнения немного разные ( сравнивал xml около 136000 строк).

Это как? В одном индекс-скан в другом индекс-сик?
10 сен 14, 10:01    [16557692]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения у одинаковых хп  [new]
Glory
Member

Откуда:
Сообщений: 104760
Valer
Планы выполнения немного разные ( сравнивал xml около 136000 строк).
В чем может быть причина ?

Так наверное и входные параметры/объемы данных тоже разные ?
10 сен 14, 10:03    [16557704]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения у одинаковых хп  [new]
Valer
Member

Откуда:
Сообщений: 277
в хмл плане старой хп 136281 строк новой - 135980 строк, сравнивание построчно - совпадение практически полное,
в старом плане есть несколько строк которых нет в новой вида:

<ColumnReference Database="[база]" Schema="[dbo]" Table="[stAttributes]" Alias="[val]" Column="stValue" />

 <OutputList>
     <ColumnReference Database="[база]" Schema="[dbo]" Table="[stLinks]" Alias="[l]" Column="inIdParent" />
 </OutputList>
10 сен 14, 13:33    [16558997]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения у одинаковых хп  [new]
Glory
Member

Откуда:
Сообщений: 104760
Valer
в хмл плане старой хп 136281 строк новой - 135980 строк,

Это у вас план одного запроса из 136000 строк состоит ?
10 сен 14, 16:11    [16560198]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения у одинаковых хп  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Valer,

Выкладывайте в нормальном формате (приаттаченный xml файл) оба плана, а также можно результаты выполнения с включенными:
set statistics io on
set statistics time on

Тогда можно будет о чем то говорить.
11 сен 14, 00:51    [16561977]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения у одинаковых хп  [new]
Valer
Member

Откуда:
Сообщений: 277
Glory, это не запрос а хп ( около 220 строк), писал ее не я. мне ее надо по возможности улучшить, а тут такая засада.
планы и тексты хп выложить не могу. Для меня подобная ситуация подобна нарушению фундаментальных законов, если бы мне кто нибудь сказал подобное ранее - не поверил бы. Думаю что разумное объяснение есть, но искать его себе дороже.
11 сен 14, 08:42    [16562357]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения у одинаковых хп  [new]
Glory
Member

Откуда:
Сообщений: 104760
Valer
( около 220 строк),

И какая же из этих 220 строк выполняется медленнее ?
11 сен 14, 09:17    [16562430]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения у одинаковых хп  [new]
Valer
Member

Откуда:
Сообщений: 277
Glory, к моему несчастью новая выполняется медленнее. хотя я ее получил выполнением скрипта по старой, только заменив наименование хп
11 сен 14, 11:32    [16562920]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения у одинаковых хп  [new]
Glory
Member

Откуда:
Сообщений: 104760
Valer
к моему несчастью новая выполняется медленнее.

Вы вопрос поняли ?
И какая же из этих 220 строк выполняется медленнее ?
11 сен 14, 11:33    [16562924]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения у одинаковых хп  [new]
Кот Матроскин
Member

Откуда: Москва
Сообщений: 8933
Valer
Для меня подобная ситуация подобна нарушению фундаментальных законов, если бы мне кто нибудь сказал подобное ранее - не поверил бы. Думаю что разумное объяснение есть, но искать его себе дороже.


Разумное обьяснение элементарно - для новой SP оптимизатор почему-то строит неоптимальный план, а для старой план (лучший) закешировался и не перестраивается.
11 сен 14, 11:42    [16562984]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения у одинаковых хп  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2396
Valer
но искать его себе дороже.

зачем тогда ищите?
11 сен 14, 12:08    [16563130]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения у одинаковых хп  [new]
Valer
Member

Откуда:
Сообщений: 277
Кот Матроскин, вы правы, но почему так происходит? ввод данных в базу не очень велик, статистика сильно не могла измениться. Время увеличилось с 10 до 16 секунд. Мне кажется это многовато. Возможности проводить переиндексацию и обновлять статистику не могу. Всем спасибо!
11 сен 14, 13:18    [16563572]     Ответить | Цитировать Сообщить модератору
 Re: разное время выполнения у одинаковых хп  [new]
Bator
Member

Откуда: Порт пяти морей
Сообщений: 439
Valer, у старой процы план закэшировался для "хороших" параметров (т.е. первый вызов был или рекомпиляция случилась для параметров, при которых получился план, результатом которого стало более быстрое выполнение) и с тех пор не было причин для рекомпиляции.
Перенакатите старую процу и новую, выполните с одинаковыми параметрами и будет все одинаково.

Причин почему так получается много, в факе есть ссылки на основные.
11 сен 14, 13:43    [16563693]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить