#0
by ssh2006
Разбирался почему не удается провести параллельно два разных заказа покупателя с одинаковой номенклатурой. В итоге выяснил следующее: Запускаем последовательно в разных сеансах код: В каждом сеансе устанавливается отбор на разные заказы, причем в записях регистра по этим заказам есть некоторая общая номенклатура. Для ДЛЯ ИЗМЕНЕНИЯ указано, чтобы получить SERIALIZABLE, режим блокировок - автоматический. У регистра проиндексированы измерения ЗаказПокупателя и Номенклатура Запросы выполняются параллельно, конфликта блокировок нет. Теперь если же добавить в условие запроса еще и отбор на общую для этих заказов номенклатуру: ЗаказыПокупателей.Номенклатура = &Ном, и повторить параллельный запуск то второй запрос отвалится по таймауту на блокировке. Пытаясь понять в чем дело я посмотрел планы запросов, во втором запросе добавляется Index Seek по индексу по номенклатуре, в результате залоченнымми оказываются все записи с указанной номенклатурой, получается избыточная блокировка. Это сразу должно было быть понятно? Может убрать нафиг этот индекс по номенклатуре? Конфа на базе УТ 10. Поправьте, что не так.
#3
by Fragster
+ а, это ТЧ - тогда фигню сморозил, ХЗ чтотам :( разве только во вложенный запрос оборачивать
#6
by Maxus43
или предварительно сделать запрос по регистру без ДЛЯ ИЗМЕНЕНИЯ, вытащив регистраторы, а потом вторым запросом залочить с отбором по регистраторам
#7
by krbIso
ДЛЯ ИЗМЕНЕНИЯ это хинт поставить U блокировку, SERIALIZABLE ставится в автоматическом режиме у необъектных данных.
#8
by Spieluhr
т.е. Вы хотите получить от блокировок MS SQL тот же эффект, как если бы был управляемый режим блокировок? на набор измерений?
#9
by krbIso
"Теперь если же добавить в условие запроса еще и отбор на общую для этих заказов номенклатуру" все логично в первом случае у тебя блокировались разные ресурсы, во втором есть общий ресурс.
#10
by Maxus43
регистр подчинён регистратору, если в разрезе него вытащить данные - то и получится типа управляемой блокировки, на наборы записей регистраторов. иль не?
#11
by ssh2006
а чем здесь управляемый режим поможет? Менеджер блокировок пропустит обе исключительеные блокировки, а дальше в ms sql уже отвалится по блокировкам субд
#16
by ssh2006
если задавать условие на равенство периода, то получается один Clustered Index Seek и все хорошо, если период =< задать, то тот же план что и без условия на период с поиском по индексу номенклатуры
#18
by ssh2006
изыскания начались с того что в модуле проведения (документ изменение заказа) есть запрос по этому регистру, к ВТ обороты, который не имеет ограничений по началу периода, а по концу периода ограничен моментом времени проводимого документа, отсюда получился тестовый запрос к записям таблицы движений регистра и ограничение на период <= а ведь верное замечание должно быть насчет управляемых блокировок. На скуле всегда будет read committed, а что выше обеспечивает уже менеджер блокировок 1с, а на скл уходит в любом случае read committed, так ведь?. И такая ситуация как в примере через явное наложение блокировок должна разрешиться думаю имелл ввиду что вместо serializable, как в моем примере.
#19
by Fragster
обороты без ограничения на начало периода и с ограничением на конец называются остатки...
#23
by ssh2006
В можно выйти из положения, поместив выборку по ЗаказуПокупателя во временную таблицу, а потом её уже отфильтровать по номенклатуре.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Блокировки в MS SQL Server 2000 (статья)
- ПолуOFF печатное издание про MS SQL и MS Server посоветуйте
- Цены на MS Server + MS SQL
- Совместимость MS SQL 2000 и MS SQL 2005 ?
- Управляемые блокировки в УПП
- не работает установка блокировки соединений ИБ
- Таймауты блокировки в MS SQL 2008 или как правильно распралелить работу
- v7: Перенос базы 1С 7.7 MS SQL 2005 на MS SQL 2000
В этой группе 1С
- Не умещается текст на страницу
- Ошибка приложения 1cv8.exe
- Помогите починить базу
- Формат шаблона печати А5.
- ПОДОБНО и Символы.ПС в запросе
- Обработка по обнулению счета
- План счетов (только обороты) бп 2.0
- Как изменить шаг нумерации внутренних штрихкодов
- Выполнение участка кода под полными правами (1С 8.1)
- Регламентированная отчетность версия выгрузки 5.04
- СКД форма настройки. закрыть доступ к кнопке удалить настройку. реально ?
- v8: Добавление в структуру подчиненности
- FTP как локальный диск
- Отчет "Сводные данные об исполнении бюджета ПБС"
- v7: Переход с 77 ПУБ на ...
- Можно ли работнику франча сдать 1С:Профессионал на выставке?
- УТ 11 - возврат товара от клиента - реквизит Налогообложение
- как в скд закрасить 1 уровень группировки строки ?
- ОФ. Создать кнопку с действием - Связанные сведения Регистр
- Как в УТ 10.3 поменять цену для некоторых контрагентов по некоторой номенклатуре