Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Mind, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 08:56 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
gepard1980Mind, есть job который сначала проверку на целостность делает, а потом ребилд индексов. посмотрел сейчас лог - он всегда останавливался на ошибке при DBCC CHECKDB на базе WebLeader и дальше соответственно не шел. надо будет ночью сегодня запустить джоб на ребилд индексов. а ошибка такая: У вас job на rebuild выпадает с ошибкой при проверке целостности? А что вам даст на ночь запуск этого jobа? Может сначала с чекдб разобраться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 08:59 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
PizzaPizza, посмотрел этот plan, там вообще нету check dbcc: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 09:05 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
gepard1980, Мне кажется, что если у вас есть постоянные ошибки целостности то с ними надо разбираться в первую очередь. Я лично не понял про что вы говорили тут gepard1980он всегда останавливался на ошибке при DBCC CHECKDB на базе WebLeader и дальше соответственно не шел Кто "он"? Job с ребилдом? Если у вас в этом джобе нет чека, то как запускается этот чек, который приводит к ошибке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 10:07 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
PizzaPizza, тот job я уже удалил, поэтому может что и попутал. Сделал новый, который только Check Integrity делает. Если он не справится, то придется наверно базу новую скриптом создать и перелить все таблицы из старой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 10:34 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
gepard1980Mind, по третьему скрипту относительно базы lion_data результаты такие. На что обратить внимание?А вот фиг его знает. Я думал у вас простой случай. Все что я пока вижу, это две больших таблицы на 100% загружены в память и в них огромное пустое место, которое лучше конечно убрать путем реиндекса. А вот дальше непонятно, ибо по самой большой таблице было всего 4 скана, так что непонятно что ее заставляет сидеть в памяти, есть еще конечно один missing index, но вряд ли он решит что либо. Да и сканов по другим таблицам вообще почти нет. Либо там все настолько оптимизиронно либо кто то захинтовал все запросы forceseek-ами. Вероятно это тупиковый путь и нужно смотреть что то другое. Например диски. Кстати та процедура что вы привели в пером посте, если ее скопировать в ssms и запустить она будет так же долго выполняться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 11:25 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Mind, хинтов в хранимках нет. В SSMS выполнил следующую процедуру: USE WebLeader DECLARE @OrganizationUID UNIQUEIDENTIFIER SET @OrganizationUID = '1D7E654A-373C-4F25-909E-81645EB29294' SELECT uid_obj, uid_user, name FROM lt_Organizations WHERE @OrganizationUID = uid_obj Первый раз выполнялась 5 секунд. Последующие разы около секунды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 11:45 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
gepard1980, OPTION (OPTIMIZE FOR UNKNOWN) или OPTION (RECOMPILE) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 11:47 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
TaPaK, с этим хинтом всегда одна секунда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 11:56 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
gepard1980TaPaK, с этим хинтом всегда одна секунда. Как понимаю, ТСу после добавления в процедуру хинта OPTION (OPTIMIZE FOR UNKNOWN) или OPTION (RECOMPILE) осталось только соответствующий покрывающий индекс создать? Ну и разобраться с постоянными ошибками целостности, обновить статистики with fullscan и перестроить индексы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 12:47 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Я не удивлен, что при такой нагрузке на диски они дают сбои. Чудо, что вообще до сих пор живы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 13:26 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
а разве после перестройки индексов нужно делать обновление статистики? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 13:37 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
StarikNavyа разве после перестройки индексов нужно делать обновление статистики? Статистика создаётся не только при создании индексов, так что, думаю, что да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 14:09 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, это Azure :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 14:59 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
DaniilSeryiСтатистика создаётся не только это да. но после ребилда не нужно. хотя может я и не прав, и у ТС этот момент учтен ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 15:23 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Похоже что узкое место - диск. Придется SSD использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 16:02 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
TaPaKgepard1980, OPTION (OPTIMIZE FOR UNKNOWN) или OPTION (RECOMPILE)Как же бесят такие советчики. Вы понимаете что OPTIMIZE FOR UNKNOWN и RECOMPILE делают прямо противоположное? А что, давайте без всякого анализа и плана попробуем все хинты которые только можно, авось какой нибудь подойдет. Я уж не говорю про то, что ТС запускает даже не процедуру а запрос, где сниффинга нет по определению и добавление OPTIMIZE FOR UNKNOWN вообще безсмыссленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 21:38 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Mind, ТС как раз процедуру запускает, из которой и скопирован код: SELECT uid_org, uid_user, name FROM lt_Organizations WHERE @OrganizationUID = uid_obj ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 21:48 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
gepard1980TaPaK, с этим хинтом всегда одна секунда.Не слушайте тапки. Почти наверняка эти хинты не дали абсолютно ничего. Во время первого запуска данных не было в кэше, серверу пришлось читать с диска, который как мы знаем у вас очень медленный или чем то загружен. При последующих запусках данные были уже в памяти поэтому выполнение "быстрое". Для простой выборки по ключу даже 1 секунда это очень-очень медленно, поэтому у вас там скорее всего скан. Так что запускайте еще раз с включенным актуальным планом и выкладывайте его сюда, желательно в виде виде файла, а не картинки ("Save Execution Plas as"). Еще перед запуском можете включить: Код: sql 1. 2. Индекс по полю uid_obj у вас есть? И еще, то что вы выполняете это не процедура, а вырванный из процедеры запрос, разница может быть весьма значительной из-за parameter sniffing, хотя я сомневаюсь что у вас проблема именно в этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 21:49 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
DaniilSeryiMind, ТС как раз процедуру запускает, из которой и скопирован код: SELECT uid_org, uid_user, name FROM lt_Organizations WHERE @OrganizationUID = uid_objЧто именно ТС называет "выполнил следующую процедуру" мы можем только догадываться. Википедия дает следующее определение: "Процедура — взаимосвязанная последовательность действий где-либо". Так что это может быть что угодно. Я сейчас окно открою и плюну на улицу, это тоже будет называться процедура. Вот это называется запрос (query/batch/statement): Код: sql 1. 2. 3. 4. 5. 6. А вот это вызов stored procedure: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 21:59 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Mind, "Так что запускайте еще раз с включенным актуальным планом и выкладывайте его сюда, желательно в виде виде файла, а не картинки ("Save Execution Plas as")". Можно поподробней где этот актуальный план включать, как потом файл получить. Выполнять буду как хранимую процедуру через EXEC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 22:07 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
gepard1980, Опять же только предположение, возможно lion_data съедает всю память, а потом WebLeader будучи плохо оптимизированной базой страдает пытаясь сканировать таблицы с диска. Из 75Гб только 1.3Гб в памяти. Я так понимаю у вас все медленные зпросы как раз таки к WebLeader? Попробуйте еще раз запустить вот этот запрос, но уже для базы WebLeader: Index Usage Statistics Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 22:12 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
gepard1980, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 22:14 |
|
||
|
Долгое выполнение хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Mind, индекс конечно есть по полю uid_obj кластерный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 22:14 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39740595&tid=1688681]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
| others: | 261ms |
| total: | 467ms |

| 0 / 0 |
