|
Взаимоблокировки при автоматическом создании статистики
|
|||
---|---|---|---|
#18+
Искал, в чем "тормоза", оказалось, что запрос приводит к взаимоблокировке при автоматическом создании статистики. Отключение этой настройке в базе приводит к моментальному выполнению. Причем, эти блокировки не завершают аварийно запрос (костыль от SQL team?). Выполняется SELECT из очереди брокера в качестве теста очереди. Как это можно победить, если ли возможность хинтами или трейсфлагом отключить автосоздание статистик при запросе? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2020, 15:27 |
|
Взаимоблокировки при автоматическом создании статистики
|
|||
---|---|---|---|
#18+
1. xdl-файл практически бесполезен для анализа. 2. Вариант создания необходимых статистик вручную не рассматривается? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2020, 16:24 |
|
Взаимоблокировки при автоматическом создании статистики
|
|||
---|---|---|---|
#18+
Владислав Колосов, Ошибка же будет только 1 раз, по идее, ваше ПО должно ее обработать и перезапустить запрос. Ну и обновить сервер пробовали? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2020, 17:45 |
|
Взаимоблокировки при автоматическом создании статистики
|
|||
---|---|---|---|
#18+
Владислав Колосов, Просто хочу поинтересоваться: а в чем сакральный смысл использования ddl инструкций в перемешку с dml в единой транзакции? чисто имхо: это архитектурно неправильно, хотя конечно Вам виднее. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2020, 18:03 |
|
Взаимоблокировки при автоматическом создании статистики
|
|||
---|---|---|---|
#18+
felix_ff, это тест, поэтому и мешанина. Не думаю, что вручную можно создать эти статистики, отключение автосоздания в базе не желательно, как я понимаю. Если не ошибаюсь, то система пытается создать статистики для очереди брокера, к которой выполняется запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2020, 12:03 |
|
Взаимоблокировки при автоматическом создании статистики
|
|||
---|---|---|---|
#18+
invm, что лучше использовать для анализа? Этот файл (xml) получен из данных расширенных событий. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2020, 12:06 |
|
Взаимоблокировки при автоматическом создании статистики
|
|||
---|---|---|---|
#18+
Владислав Колосов, Я имел в виду, выкладывать сразу в виде xml. Иначе нужны лишние действия по сохранению и переименованию. Если судить по Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Дедлок вообще какой-то странный и непонятный. Спорный ресурс один... process201c073a8c8 конфликтует сам с собой... Имхо, самый простой выход - установить deadlock priority = high. Еще можно попробовать убрать NOLOCK. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2020, 12:36 |
|
Взаимоблокировки при автоматическом создании статистики
|
|||
---|---|---|---|
#18+
Владислав Колосов, Вы можете создать необходимые статистики для очереди вручную, поскольку очередь это всего лишь таблица. правда нужно подключение через DAC. Другой вариант сделать несколько селектов с необходимой фильтрацией по колонкам по которым нужна статистика сервер ее тогда сам создаст. (при auto_create_statistics конечно) что лучше использовать для анализа? Так в том то и проблема что конфликтуют Sch-M с Sch-S Sch-M получается из-за ALTER QUEUE, а Sch-S пытается получить любая читающая сессия. вопрос: зачем в какую то общую логику под транзакцию засовывать инструкцию ALTER? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2020, 12:36 |
|
Взаимоблокировки при автоматическом создании статистики
|
|||
---|---|---|---|
#18+
Я находил описание схожей проблемы у других пользователей. Проблема не проблема на самом деле, т.к. 14 секунд выполнения вместо 1 в режиме тестирования. Однако, самым простым способом показалось отключение автоматического создания статистик. Спасибо за рекомендации. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2020, 13:13 |
|
|
start [/forum/topic.php?fid=46&msg=39976620&tid=1685915]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 144ms |
0 / 0 |