#0
by floody
Уважаемые эксперты, нужна ваша подсказка. Конфигурация упп1.3 на упр.блокировках. Наблюдаю событие эскалации блокировок до уровня таблицы при данном запросе: DELETE FROM T1 FROM _AccumRg21611 T1 WHERE T1._RecorderTRef = AND T1._RecorderRRef = @P2 Насколько я понимаю, совсем не обязательно блокировать всю таблицу для удаления движений по одному регистратору. Аналогичные запросы еще встречаются, вот пример: DELETE FROM T4 FROM _Document417_VT10391 T4 WHERE _Document417_IDRRef = Вопрос: в чем может быть проблема?
#1
by Господин ПЖ
блокировка на уровне скуля? таблица слишком маленькая по объему - оптимизатору лень париться с записью
#3
by floody
Таблица _AccumRg21611 - самая большая в базе. 47млн записей и более 30 гигабайт на диске.
#4
by Господин ПЖ
не попадает в индекс слишком много блокировок - оптимизатор задалбался рулить блокировками
#5
by floody
индекс "Регистратор + НомерСтроки" всегда существует про слишком много блокировок - это понятно, но не понятно, почему их много?
#6
by Господин ПЖ
а кто сказал что он всегда используется? вполне "безобидный" запрос может давать table/index scan смотри план выполнения
#7
by H A D G E H O G s
Эскалация блокировок может быть не связана с планом. Ну тоесть, у него может быть православный indexseek и блокирована вся таблица.
#8
by Господин ПЖ
хуже от того что он посмотрит реальный план не станет. доп. информация не повредит
#12
by floody
хорошо, например удаляются движения документа Требование-накладная (пускай из 1000 строк). в итоге блокируем 47млн записей?
#14
by Apokalipsec
Скуль сам считает блокировки, и то что 1к строк не значит что это 1к блокировок, есть некий range на котором происходит эскалация блокировок на уровне субд. Ещё есть блокировки по памяти. Поставьте флаг трассировки 1224, не будет эскалации по количеству блокировок, есть ещё флаг отвечающий за эскалацию по памяти, но им баловаться не рекомендую.
#15
by floody
Зачем баловаться флагами и пытаться управлять эскалацией? Я ведь не говорю, что скуль - дурачок и не нужно эскалировать блокировку. Однозначно эскалация - это добро. Иначе можно все ресурсы сервера положить на разруливание блокировок. А вот причина эскалации - это зло. Меня интересует - почему безобидная казалось бы операция по удалению движений одного документа приводит к блокировке таблицы в 30 гб. Посмотрел план. Действительно - сканируется индекс по регистратору. В предикате: CONVERT_IMPLICIT(varchar,[database].[dbo].[_AccumRg21611].[_RecorderTRef] as [T1].[_RecorderTRef],0)='0x00000134' AND CONVERT_IMPLICIT(varchar,[database].[dbo].[_AccumRg21611].[_RecorderRRef] as [T1].[_RecorderRRef],0)='0x90160025904DA97E11E4D31107D43E91' Что это? По этой информации можно понять, почему вместо поиска по индексу - сканирование?
#19
by Господин ПЖ
>По этой информации можно понять, почему вместо поиска по индексу - сканирование? может статистика плохая
#20
by floody
вот в этом запросе выше видно, что = 0x00000134 статистика обновляется еженочно с фулл сканом
#21
by vhl
Ну наверное в данном случае SQL выгоднее заблокировать одну таблицу чем наложить 1000 блокировок.
#23
by floody
есть вариант конечно, что нужно чаще обновлять.. например массовые перепроведения какие-то.
#24
by Господин ПЖ
с какой-то версии скуля при обновлении 20 000 записей стата сама рефрешится по таблице
#25
by floody
с какой-то версии введен более интеллектуальный алгоритм определения порога автообновления.. с 2012 вроде. по % количеству от объема таблицы.
#26
by alexlap
А тип параметров varbinary или varchar? N'@P1 varbinary,@P2 varbinary' В запросе так параметры заданы?
#27
by floody
Это запрос, формируемый платформой при распроведении документа. (@P1 varbinary,@P2 varbinary) вот так
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Настройка бота для TELEGRAM
- УТ10, розничная торговля, услуга и возврат
- Запрос к табличной части с предварительным отбором документов
- автоматический обмен УТ 10.3 УТ 11.0
- Не работает авторизация для доступа к WSDL через IE
- 1С:Предприятие 8.3 (8.3.7.1790) Не работает отладка Правил обмена
- Разбить сроку на 3 части
- 8.3 Вопрос про галочку "Заполнять из данных заполнения"
- Вопрос по БП 3.0 Возможности передачи спецодежды по партиям?
- Как в 1С 8.3 зачесть пошлину, взысканную по исполнительному листу?
- Можно ли дорабатывать мобильные приложения на 1С других разработчиков
- Сеть магазинов и актуальные остатки (1С + Frontol)
- добавить факсимиле в Акт сверки взаиморасчетов, с оборотами
- ERP. Неизвестное имя формы
- Журнал регистрации 1С 8.3
- УТ "Заказ клиентов" отгрузка на 100%
- Чтение платежек из Word в 1С
- Не стартует ОС с IDE диска.
- 1с WSссылка отключить проверку сертификата
- Выполнить запрос от имени другого юзера или без РЛС