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

Откуда:
Сообщений: 21
Добрый день!

Profiler-ом ищу тормоза в базе. В некоторые моменты времени запрос, который обычно выполняется 1 секунду начинает выполнятся по 30 секунд.
И Именно в этот момент на графической схеме плана запроса 2 узла имеют желтый треугольник http://shot.photo.qip.ru/005he3-202MPSs/
Подскажите пожалуйста, что он означает и может есть ссылка где про него почитать? http://shot.photo.qip.ru/005he3-202MPSs/
6 фев 12, 23:13    [12044097]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по графическому значку плана запроса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Вы план полностью и в текстовом виде покажите.

А значки сигнализируют об отсутствии статистики.
6 фев 12, 23:17    [12044107]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по графическому значку плана запроса  [new]
Crimean
Member

Откуда:
Сообщений: 13147
а хороший план покажите?
6 фев 12, 23:33    [12044172]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по графическому значку плана запроса  [new]
Simol
Member

Откуда:
Сообщений: 21
Проблема с 30 кратным торможением решилась командой: DBCC FREEPROCCACHE
После нее вернулось на круги своя. Осталось понять причину "загона" сервера в это состояние, которое бывает частенько.

"Больной" план уже не покажу (по крайней мере сегодня)
"Здоровый" сейчас выложу
7 фев 12, 00:04    [12044263]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по графическому значку плана запроса  [new]
Simol
Member

Откуда:
Сообщений: 21
Мрачно большой, как-то читабельнее его можно выложить? http://webfile.ru/5805928
7 фев 12, 00:10    [12044277]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по графическому значку плана запроса  [new]
Crimean
Member

Откуда:
Сообщений: 13147
запрос - хранимка небось?
7 фев 12, 00:19    [12044296]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по графическому значку плана запроса  [new]
Simol
Member

Откуда:
Сообщений: 21
нет, но выполняется часто с разными параметрами
7 фев 12, 00:25    [12044317]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по графическому значку плана запроса  [new]
Crimean
Member

Откуда:
Сообщений: 13147
Simol
нет, но выполняется часто с разными параметрами


параметризированный запрос? можно чуть больше конкретики? :)
7 фев 12, 00:38    [12044348]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по графическому значку плана запроса  [new]
Simol
Member

Откуда:
Сообщений: 21
Это запрос, формируемый 1С-кой.
Дело в том, что я имею только небольшое представление по поиску медленных мест, убирание которых выполняю изменением запроса в самой 1С.
А тут столкнулся с ситуацией когда один и тот же запрос может в одни периоды выполнятся за 1с, а в другие за 30с.
Вот и сушу голову, почему для восстановления нормальной работоспособности нужно кеш чистить.
7 фев 12, 00:45    [12044362]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по графическому значку плана запроса  [new]
Simol
Member

Откуда:
Сообщений: 21
Simol
...по поиску медленных мест..
cредсвами SQL, 1С-ми умею
7 фев 12, 00:46    [12044364]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по графическому значку плана запроса  [new]
SergePnb
Member

Откуда: Киев
Сообщений: 456
Simol
Вот и сушу голову, почему для восстановления нормальной работоспособности нужно кеш чистить.

Именно потому что значения параметров/параметры разные, и вероятно сильно разные, надо генировать новый план выполнения запроса, что вы собственно и сделали, удалив текущий процедурный кэш. Но во-первых вы очистили ВЕСЬ кэш, что плохо, а во-вторых вы не сможете "научить" 1С хинтовать запросы для перегенерации плана только кокретного запроса.
7 фев 12, 11:58    [12045769]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по графическому значку плана запроса  [new]
Crimean
Member

Откуда:
Сообщений: 13147
ой больная тема - зависимость планов от значений параметров.. и у мс до сих пор не решено никак.. надо самому думать и как-то решать
7 фев 12, 12:57    [12046243]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по графическому значку плана запроса  [new]
SergePnb
Member

Откуда: Киев
Сообщений: 456
Т.к. 1С в большинстве случаев представляет собой "черный ящик" с точки зрения управления написания запросов, то, боюсь, что решать топикстартеру особо нечего.
7 фев 12, 13:30    [12046539]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по графическому значку плана запроса  [new]
Crimean
Member

Откуда:
Сообщений: 13147
SergePnb
Т.к. 1С в большинстве случаев представляет собой "черный ящик" с точки зрения управления написания запросов, то, боюсь, что решать топикстартеру особо нечего.


ну, можно построить управление кешем на основании статистики поведения системы
обнаруживать аномалии и хотя бы сбрасывать планы для аномально выполняемых запросов
7 фев 12, 13:48    [12046720]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по графическому значку плана запроса  [new]
Simol
Member

Откуда:
Сообщений: 21
Crimean
ну, можно построить управление кешем на основании статистики поведения системы
обнаруживать аномалии и хотя бы сбрасывать планы для аномально выполняемых запросов


Спасибо всем за ответы, но к сожалению квалификации для выполнения этого предложения не хватит.
7 фев 12, 22:17    [12050669]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по графическому значку плана запроса  [new]
Crimean
Member

Откуда:
Сообщений: 13147
версия сервера?
select @@version
для начала будет хорошо если просто будете нормально обслуживать базу
7 фев 12, 23:32    [12050948]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по графическому значку плана запроса  [new]
Simol
Member

Откуда:
Сообщений: 21
Crimean,

Microsoft SQL Server 2005 - 9.00.5000.00 (X64)
Dec 10 2010 10:38:40
Copyright (c) 1988-2005 Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)

Из обслуги базы настроил:
Каждое воскресенье:
Check Database Integrity Task
Rebuild Index Task
Update Statistic Task
DBCC FREEPROCCACHE

Каждое утро:
Reorganize Index Task
Update Statistic Task
DBCC FREEPROCCACHE

Каждый час вот такая позаимствованная штука:
declare @minRows int
set @minRows = 100

declare @reindexQuery nvarchar(max)
set @reindexQuery =
REPLACE(REPLACE(
cast(
(
select
'BEGIN TRY ALTER INDEX '+idx.name+' ON '+ sc.name+'.'+ t.name+
CASE
WHEN st.avg_fragmentation_in_percent > 30 THEN
' REBUILD WITH (ONLINE=ON) END TRY BEGIN CATCH ALTER INDEX '+idx.name+' ON '+ sc.name+'.'+ t.name+ ' REBUILD WITH (ONLINE=OFF) END CATCH;'
ELSE
' REORGANIZE END TRY BEGIN CATCH END CATCH;'
END as query
from sys.dm_db_index_physical_stats( DB_ID(),NULL,NULL,NULL,NULL) st
join sys.tables t on (st.object_id=t.object_id)
join sys.schemas sc on (sc.schema_id=t.schema_id)
join sys.indexes idx on (t.object_id=idx.object_id and st.index_id=idx.index_id)
join sys.partitions p on (p.index_id=idx.index_id and p.object_id=idx.object_id)
where p.rows > @minRows and st.avg_fragmentation_in_percent > 5
order by st.avg_fragmentation_in_percent desc
FOR XML PATH(''), TYPE
) as nvarchar(max)
),'</query>',';'),'<query>','')

exec (@reindexQuery)
8 фев 12, 01:07    [12051197]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить