|
Дедлок на таблице итогов (срез последних) подчиненного периодического регистра сведений | ☑ | ||
---|---|---|---|---|
0
TormozIT
гуру
18.11.21
✎
15:12
|
Пишу новые документы в несколько потоков, в движениях которых заполняю набор записей периодического регистра сведений, для которого включено использование таблицы итогов среза последних.
При записи иногда возникает взаимоблокировка в СУБД MSSQL. В ней участвуют 2 запроса платформы. Сначала выполняет запрос обновления существующих строк в таблице итогов lockMode="U" UPDATE РегистрСведений.упРаботыПоРейсу.ИтогиСрезПоследних SET Период = RES.Период, Регистратор = RES.Регистратор, АдресРазгрузки = RES.АдресРазгрузки, ... FROM ( SELECT РегистрСведений.упРаботыПоРейсу.Период, РегистрСведений.упРаботыПоРейсу.Регистратор, РегистрСведений.упРаботыПоРейсу.Рейс, РегистрСведений.упРаботыПоРейсу.Идентификатор, РегистрСведений.упРаботыПоРейсу.ИдентификаторРаботы, РегистрСведений.упРаботыПоРейсу.СтрокаНомер, ... FROM ( SELECT РегистрСведений.упРаботыПоРейсу.Рейс, РегистрСведений.упРаботыПоРейсу.Идентификатор, РегистрСведений.упРаботыПоРейсу.ИдентификаторРаботы, РегистрСведений.упРаботыПоРейсу.СтрокаНомер, MAX(РегистрСведений.упРаботыПоРейсу.Период) MINMAX_PERIOD, РегистрСведений.упРаботыПоРейсу.ОбластьДанныхОсновныеДанные FROM РегистрСведений.упРаботыПоРейсу INNER JOIN #TmpRecordSet упРаботыПоРейсу_ИтогиСрезПоследних_ON РегистрСведений.упРаботыПоРейсу.Рейс = #TmpRecordSet.Рейс AND РегистрСведений.упРаботыПоРейсу.Идентификатор = #TmpRecordSet.Идентификатор AND РегистрСведений.упРаботыПоРейсу.ИдентификаторРаботы = #TmpRecordSet.ИдентификаторРаботы AND РегистрСведений.упРаботыПоРейсу.СтрокаНомер = #TmpRecordSet.СтрокаНомер AND РегистрСведений.упРаботыПоРейсу.ОбластьДанныхОсновныеДанные = #TmpRecordSet.ОбластьДанныхОсновныеДанные WHERE РегистрСведений.упРаботыПоРейсу.Активность=TRUE GROUP BY РегистрСведений.упРаботыПоРейсу.Рейс, РегистрСведений.упРаботыПоРейсу.Идентификатор, РегистрСведений.упРаботыПоРейсу.ИдентификаторРаботы, РегистрСведений.упРаботыПоРейсу.СтрокаНомер, РегистрСведений.упРаботыПоРейсу.ОбластьДанныхОсновныеДанные ) RES1 INNER JOIN РегистрСведений.упРаботыПоРейсу упРаботыПоРейсу_ИтогиСрезПоследних_ON РегистрСведений.упРаботыПоРейсу.Рейс=RES1.Рейс AND РегистрСведений.упРаботыПоРейсу.Идентификатор=RES1.Идентификатор AND РегистрСведений.упРаботыПоРейсу.ИдентификаторРаботы=RES1.ИдентификаторРаботы AND РегистрСведений.упРаботыПоРейсу.СтрокаНомер=RES1.СтрокаНомер AND РегистрСведений.упРаботыПоРейсу.ОбластьДанныхОсновныеДанные=RES1.ОбластьДанныхОсновныеДанные AND РегистрСведений.упРаботыПоРейсу.Период=MINMAX_PERIOD ) RES LEFT JOIN РегистрСведений.упРаботыПоРейсу.ИтогиСрезПоследних упРаботыПоРейсу_ИтогиСрезПоследних_ON РегистрСведений.упРаботыПоРейсу.ИтогиСрезПоследних.Рейс = RES.Рейс AND РегистрСведений.упРаботыПоРейсу.ИтогиСрезПоследних.Идентификатор = RES.Идентификатор AND РегистрСведений.упРаботыПоРейсу.ИтогиСрезПоследних.ИдентификаторРаботы = RES.ИдентификаторРаботы AND РегистрСведений.упРаботыПоРейсу.ИтогиСрезПоследних.СтрокаНомер = RES.СтрокаНомер AND РегистрСведений.упРаботыПоРейсу.ИтогиСрезПоследних.ОбластьДанныхОсновныеДанные = RES.ОбластьДанныхОсновныеДанные WHERE РегистрСведений.упРаботыПоРейсу.ИтогиСрезПоследних.Период < RES.Период А затем добавляет в нее новые строки lockMode="IX" INSERT INTO РегистрСведений.упРаботыПоРейсу.ИтогиСрезПоследних (Период,Регистратор,Рейс,Идентификатор,ИдентификаторРаботы,СтрокаНомер,...) VALUES ( SELECT РегистрСведений.упРаботыПоРейсу.Период, РегистрСведений.упРаботыПоРейсу.Регистратор, РегистрСведений.упРаботыПоРейсу.Рейс, РегистрСведений.упРаботыПоРейсу.Идентификатор, РегистрСведений.упРаботыПоРейсу.ИдентификаторРаботы, РегистрСведений.упРаботыПоРейсу.СтрокаНомер, ... FROM ( SELECT РегистрСведений.упРаботыПоРейсу.Рейс, РегистрСведений.упРаботыПоРейсу.Идентификатор, РегистрСведений.упРаботыПоРейсу.ИдентификаторРаботы, РегистрСведений.упРаботыПоРейсу.СтрокаНомер, MAX(РегистрСведений.упРаботыПоРейсу.Период) MINMAX_PERIOD, РегистрСведений.упРаботыПоРейсу.ОбластьДанныхОсновныеДанные FROM РегистрСведений.упРаботыПоРейсу INNER JOIN #TmpRecordSet упРаботыПоРейсу_ON РегистрСведений.упРаботыПоРейсу.Рейс = #TmpRecordSet.Рейс AND РегистрСведений.упРаботыПоРейсу.Идентификатор = #TmpRecordSet.Идентификатор AND РегистрСведений.упРаботыПоРейсу.ИдентификаторРаботы = #TmpRecordSet.ИдентификаторРаботы AND РегистрСведений.упРаботыПоРейсу.СтрокаНомер = #TmpRecordSet.СтрокаНомер AND РегистрСведений.упРаботыПоРейсу.ОбластьДанныхОсновныеДанные = #TmpRecordSet.ОбластьДанныхОсновныеДанные WHERE 1 not in (SELECT TOP 1 1 FROM РегистрСведений.упРаботыПоРейсу.ИтогиСрезПоследних WHERE #TmpRecordSet.Рейс = РегистрСведений.упРаботыПоРейсу.ИтогиСрезПоследних.Рейс AND #TmpRecordSet.Идентификатор = РегистрСведений.упРаботыПоРейсу.ИтогиСрезПоследних.Идентификатор AND #TmpRecordSet.ИдентификаторРаботы = РегистрСведений.упРаботыПоРейсу.ИтогиСрезПоследних.ИдентификаторРаботы AND #TmpRecordSet.СтрокаНомер = РегистрСведений.упРаботыПоРейсу.ИтогиСрезПоследних.СтрокаНомер AND #TmpRecordSet.ОбластьДанныхОсновныеДанные = РегистрСведений.упРаботыПоРейсу.ИтогиСрезПоследних.ОбластьДанныхОсновныеДанные) AND РегистрСведений.упРаботыПоРейсу.Активность=TRUE GROUP BY РегистрСведений.упРаботыПоРейсу.Рейс, РегистрСведений.упРаботыПоРейсу.Идентификатор, РегистрСведений.упРаботыПоРейсу.ИдентификаторРаботы, РегистрСведений.упРаботыПоРейсу.СтрокаНомер, РегистрСведений.упРаботыПоРейсу.ОбластьДанныхОсновныеДанные ) RES1 INNER JOIN РегистрСведений.упРаботыПоРейсу упРаботыПоРейсу_ON РегистрСведений.упРаботыПоРейсу.Рейс=RES1.Рейс AND РегистрСведений.упРаботыПоРейсу.Идентификатор=RES1.Идентификатор AND РегистрСведений.упРаботыПоРейсу.ИдентификаторРаботы=RES1.ИдентификаторРаботы AND РегистрСведений.упРаботыПоРейсу.СтрокаНомер=RES1.СтрокаНомер AND РегистрСведений.упРаботыПоРейсу.ОбластьДанныхОсновныеДанные=RES1.ОбластьДанныхОсновныеДанные AND РегистрСведений.упРаботыПоРейсу.Период=MINMAX_PERIOD) При отключении таблицы итогов взаимоблокировка пропадает, но и падает скорость. Перед этими запросами платформа накладывает управляемые блокировки в табличном виде - https://docs.google.com/spreadsheets/d/1Ja7JUOdUL0CIr1veAocf9t2aVBMmMMGj7QmrV82nRNI/edit?usp=sharing в текстовом виде - РегистрСведений.упРаботыПоРейсу.DIMS Exclusive ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=80E66A26A526EC47907C8C8715EE08EC СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=83BF5E8C60902D459E4D0212118C84AB ИдентификаторРаботы=6B428AA4BE7F8242BD7B59E9053402D7 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=49EE899DF96DE341867FC4045C037EF2 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=B93EAF748539334F835596FDFA23C264 ИдентификаторРаботы=C8027CABFAE0DF4B98BB30148D4C080C СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=D8B17FAD16452C4E84AF3A20361B008B СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=D06ADE038AC4D64EB886ACF65343A73B ИдентификаторРаботы=74AB18848E2A8D428DFF905409AA6C13 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=49E769687480B94E9ED86B3DFFFABF7E СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=D06ADE038AC4D64EB886ACF65343A73B ИдентификаторРаботы=94355D6FD708A44C8894D402714AF08F СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=6D8C1487DB06B74F8EF0A2D471AF4261 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=17A3F0F2389F13448DD3B03F91335D38 ИдентификаторРаботы=E5FB057A8D4B1B48A398463F85F6B970 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=8AFCD43B8D32984A9EEDD42D7B2E83C0 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=5C7A7EF7B6D8C24488C6088CC0063F82 ИдентификаторРаботы=25785A9B43BFC94285A23152AE6ADD49 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=D34A8037C9688441A971AC435E1FA276 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=5C7A7EF7B6D8C24488C6088CC0063F82 ИдентификаторРаботы=14734180EAF77D46A53F50C11CFE93B6 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=C3DB4B35B72D164C8F29947BDEE83D46 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=D9B182335954A749A334C92C80E06088 ИдентификаторРаботы=EA4D4699FC30C74C87B5DA6CA76399CD СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=F465E57B02B29448B486D8B0E4C41898 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=D9A843F969D8D74E9DD12656861ED491 ИдентификаторРаботы=1D402F40B7D99C4986926B55C8A066C6 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=622F865C60011C43BCED4DC421E504A6 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=66DA54FD908E4B4CBB11281587D0BCF8 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=E5F6D4292935ED4397B17E535265B211 ИдентификаторРаботы=D9E9C63F1297674B93F2F8C96BD686DC СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=E5F6D4292935ED4397B17E535265B211 ИдентификаторРаботы=C03E30035222A94FA0BB34F6F5C2C5E6 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=93F1B4203B06E3419EA94B5999F49B88 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=A7F715091C15F74C8F201DB1246130F1 ИдентификаторРаботы=A13B6EF5665BF04CBEE04B38D0E29A46 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=8A0D71E8F249B849BFFCCECD0E42045F СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=A7F715091C15F74C8F201DB1246130F1 ИдентификаторРаботы=ED0FFE8C2B5E1946923504F5D1E97BBF СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=F3AC76D6531E6247A88A603A3A97C578 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=926F16D675507942A6C60996EFE43E26 ИдентификаторРаботы=96A89550187AEA4A9B02786AE3C5E87E СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=9C35802B437E02429A9059BC44BABBD0 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=0E81DE4AE97A404FA4E2A5095A98C113 ИдентификаторРаботы=6FF1F4A0FDAAEB4DA496695C2FC5B971 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=0C1979B5D519994C83C3C2754798481B СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=AE8F3657630DF54589170A1F653AC5F3 ИдентификаторРаботы=E3B9D26A751F074BBC7262BAC14F6089 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=1C3FB3A8E9354E44B7EC80C74EDE9EA3 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=4A1D9D8DB950CD49AD1688E29BA3951A ИдентификаторРаботы=70A89D629F9E65479F0569A417AE2268 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=CF84873DBDA0144283B02C40470685C0 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=F79711B7B838B445B1982D031119EE5D ИдентификаторРаботы=EFD0B55BE4399E459EA86518356D9F04 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=8EC02387797E3448B792AED32633585F СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=A59C0D72B9E2FB4BA2AD471D3443787A ИдентификаторРаботы=279DA863C93CFD4EA0EF75EEC41ED1CF СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=C8510EA15FA70D459AAFD22F80B9BEAF СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=1A500145A12E6C44A740D99193F0208E СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=96BF90244718C944829FFA2363BC1CC5 ИдентификаторРаботы=51FC12188F1BB540B9F3D8C54F9F42C0 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=96BF90244718C944829FFA2363BC1CC5 ИдентификаторРаботы=656EF35FEC1A7C4AA43CFDA9253003D1 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=E1CAC2DF6052BF45A7164C4BA3F10D00 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=DCF0AD8162B883468D0E9CC732F22580 ИдентификаторРаботы=441C60C3E4F1244DB98479F7BE60402A СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=C5A43E0333856F4E8A0448741F998D6A СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=EF9538C21FF44149858DE160307E9CCB ИдентификаторРаботы=5BDDC0E19497A549864E4752120F9FEA СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=7B80CC95BE4C2441B8DB075E3A3A92F2 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=F7A84DCCE10C5749A72EB83BF5F2543D ИдентификаторРаботы=681FB1D8C4936546BAB486C68EBD67A9 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=147607BC8B6F3E4AB14D28F12972F5F5 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=DCF0AD8162B883468D0E9CC732F22580 ИдентификаторРаботы=C3FA519324F9894C8831341B06766770 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=2CC8782F14F10F4CB6C1377179B58B51 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=DCF0AD8162B883468D0E9CC732F22580 ИдентификаторРаботы=48FBCBBC99CD604DA0A841234B491132 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=971A64331E2FB04482D4609DFD7256CF ИдентификаторРаботы=5C7E6AA30DD1D2408121D9F89B5A2DD1 СтрокаНомер=0 Период=T"20211118131412", ОбластьДанныхОсновныеДанные=0 Рейс=291:a2de107b4415472d11ec48584647de37 Идентификатор=BB46781ABBF23141B75A3BAAA74020C5 ИдентификаторРаботы=6F1687D79CC31C45A90721639869B4D8 СтрокаНомер=0 Период=T"20211118131412" Помогите побороть дедлок с наименьшим ущербом для параллельности. |
|||
1
polosov
18.11.21
✎
15:17
|
(0) Выключить использование итогов, загрузиться, включить использование итогов.
|
|||
2
fisher
18.11.21
✎
15:17
|
Я не настоящий сварщик, поэтому просто робко спрошу - параллелишь по разным измерениям?
|
|||
3
mikecool
18.11.21
✎
15:20
|
(2) + без пересечений
|
|||
4
TormozIT
гуру
18.11.21
✎
15:20
|
(1) Это не загрузка, а регулярно выполняемый код.
|
|||
5
polosov
18.11.21
✎
15:20
|
Аа так уже делал. Не дочитал.
Это вообще постоянно будет загружаться или разовая акция? |
|||
6
mikecool
18.11.21
✎
15:21
|
"При отключении таблицы итогов взаимоблокировка пропадает, но и падает скорость. " - казалось бы скорость должна возрастать...
|
|||
7
ДенисЧ
18.11.21
✎
15:22
|
(6) Скорость записи повышается, чтения - падает
|
|||
8
polosov
18.11.21
✎
15:22
|
(4) Ну тогда попробуй покопать в сторону изменения архитектуры. Заведи РН с разделением итогов. Пиши при загрузке туда. Потом оттуда данные перегоняй в твой РС, если надо.
|
|||
9
H A D G E H O G s
18.11.21
✎
15:36
|
(0) Какая версия платформы и совместимость?
|
|||
10
Добрыня Никитич
18.11.21
✎
15:39
|
(0) Посмотри xml_deadlock_report в Extended Events system_health
|
|||
11
TormozIT
гуру
18.11.21
✎
15:46
|
(9) 1С:Предприятие 8.3 (8.3.17.1851) совместимость 8.3.12
(10) Посмотрел |
|||
13
TormozIT
гуру
18.11.21
✎
16:58
|
Не победил. Пришлось отключить итоги в конфигурации.
|
|||
14
mistеr
18.11.21
✎
17:02
|
(0) На каком именно объекте БД возникает ожидание?
(11) А нам покажешь? |
|||
15
polosov
18.11.21
✎
17:05
|
(13) Почему не захотел переехать на РН с разделением итогов? Это как раз и придумали для параллельной записи.
|
|||
16
TormozIT
гуру
18.11.21
✎
17:11
|
(14)
<deadlock> <victim-list> <victimProcess id="process2187202f468" /> </victim-list> <process-list> <process id="process2187202f468" taskpriority="0" logused="158528" waitresource="PAGE: 26:1:742300 " waittime="2995" ownerId="86206807" transactionname="user_transaction" lasttranstarted="2021-11-18T12:30:16.863" XDES="0x217903e6728" lockMode="U" schedulerid="3" kpid="6056" status="suspended" spid="87" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2021-11-18T12:30:17.913" lastbatchcompleted="2021-11-18T12:30:17.910" lastattention="1900-01-01T00:00:00.910" clientapp="1CV83 Server" hostname="SRV-AX-PCTEST01" hostpid="3916" loginname="sa" isolationlevel="read committed (2)" xactid="86206807" currentdb="26" lockTimeout="20000" clientoption1="671219744" clientoption2="128056"> <executionStack> <frame procname="adhoc" line="1" stmtstart="98" stmtend="6558" sqlhandle="0x02000000ebbff238e79c1bc95d98fb311478fc261f5ae30b0000000000000000000000000000000000000000"> unknown </frame> <frame procname="unknown" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"> unknown </frame> </executionStack> <inputbuf> (@P1 numeric(10),@P2 numeric(10),@P3 numeric(10))UPDATE T6 SET _Period = T1.Period_, _RecorderTRef = T1.RecorderTRef, _RecorderRRef = T1.RecorderRRef, _Fld5506RRef = T1.Fld5506RRef, _Fld12794RRef = T1.Fld12794RRef, _Fld5498 = T1.Fld5498_, _Fld5499 = T1.Fld5499_, _Fld5501 = T1.Fld5501_, _Fld5497 = T1.Fld5497_, _Fld5507 = T1.Fld5507_, _Fld5500RRef = T1.Fld5500RRef, _Fld5517 = T1.Fld5517_, _Fld5514 = T1.Fld5514_, _Fld12795RRef = T1.Fld12795RRef, _Fld5496RRef = T1.Fld5496RRef, _Fld5494RRef = T1.Fld5494RRef, _Fld11694 = T1.Fld11694_, _Fld5503 = T1.Fld5503_, _Fld5504 = T1.Fld5504_, _Fld5510 = T1.Fld5510_, _Fld5512 = T1.Fld5512_, _Fld5513 = T1.Fld5513_, _Fld5495RRef = T1.Fld5495RRef, _Fld10367 = T1.Fld10367_, _Fld5493 = T1.Fld5493_, _Fld5502 = T1.Fld5502_, _Fld5511RRef = T1.Fld5511RRef, _Fld5505RRef = T1.Fld5505RRef, _Fld5508RRef = T1.Fld5508RRef, _Fld5518RRef = T1.Fld5518RRef, _Fld5515 = T1.Fld5515_, _Fld5516RRef = T1.Fld5516RRef, _Fld5509RRef = T1.Fld5509RRef, _Fld12796_TYPE = T1.Fld12796_TYPE, _Fld12796_RTRef = </inputbuf> </process> <process id="process2187204f088" taskpriority="0" logused="249772" waitresource="PAGE: 26:1:657547 " waittime="3364" ownerId="86212197" transactionname="user_transaction" lasttranstarted="2021-11-18T12:30:18.143" XDES="0x21758c7e408" lockMode="IX" schedulerid="7" kpid="10548" status="suspended" spid="92" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2021-11-18T12:30:19.810" lastbatchcompleted="2021-11-18T12:30:19.810" lastattention="1900-01-01T00:00:00.810" clientapp="1CV83 Server" hostname="SRV-AX-PCTEST01" hostpid="3916" loginname="sa" isolationlevel="read committed (2)" xactid="86212197" currentdb="26" lockTimeout="20000" clientoption1="671219744" clientoption2="128056"> <executionStack> <frame procname="adhoc" line="1" stmtstart="226" stmtend="4940" sqlhandle="0x02000000b67219376c4c1f0c8459f3b08ef21566ce48756a0000000000000000000000000000000000000000"> unknown </frame> <frame procname="unknown" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"> unknown </frame> </executionStack> <inputbuf> (@P1 numeric(10),@P2 numeric(10),@P3 numeric(10),@P4 numeric(10),@P5 numeric(10),@P6 numeric(10),@P7 numeric(10))INSERT INTO dbo._InfoRgSL5521 (_Period, _RecorderTRef, _RecorderRRef, _Fld5489RRef, _Fld5490, _Fld5491, _Fld5492, _Fld5506RRef, _Fld12794RRef, _Fld5498, _Fld5499, _Fld5501, _Fld5497, _Fld5507, _Fld5500RRef, _Fld5517, _Fld5514, _Fld12795RRef, _Fld5496RRef, _Fld5494RRef, _Fld11694, _Fld5503, _Fld5504, _Fld5510, _Fld5512, _Fld5513, _Fld5495RRef, _Fld10367, _Fld5493, _Fld5502, _Fld5511RRef, _Fld5505RRef, _Fld5508RRef, _Fld5518RRef, _Fld5515, _Fld5516RRef, _Fld5509RRef, _Fld12796_TYPE, _Fld12796_RTRef, _Fld12796_RRRef, _Fld563) SELECT T5._Period, T5._RecorderTRef, T5._RecorderRRef, T5._Fld5489RRef, T5._Fld5490, T5._Fld5491, T5._Fld5492, T5._Fld5506RRef, T5._Fld12794RRef, T5._Fld5498, T5._Fld5499, T5._Fld5501, T5._Fld5497, T5._Fld5507, T5._Fld5500RRef, T5._Fld5517, T5._Fld5514, T5._Fld12795RRef, T5._Fld5496RRef, T5._Fld5494RRef, T5._Fld11694, T5._Fld5503, T5._Fld5504, T5._Fld5510, T5._Fld5512, T5._Fld55 </inputbuf> </process> </process-list> <resource-list> <pagelock fileid="1" pageid="742300" dbid="26" subresource="FULL" objectname="StarykhTest2.dbo._InfoRgSL5521" id="lock21682097d80" mode="IX" associatedObjectId="72057594686668800"> <owner-list> <owner id="process2187204f088" mode="IX" /> </owner-list> <waiter-list> <waiter id="process2187202f468" mode="U" requestType="wait" /> </waiter-list> </pagelock> <pagelock fileid="1" pageid="657547" dbid="26" subresource="FULL" objectname="StarykhTest2.dbo._InfoRgSL5521" id="lock217d3311680" mode="U" associatedObjectId="72057594686668800"> <owner-list> <owner id="process2187202f468" mode="U" /> </owner-list> <waiter-list> <waiter id="process2187204f088" mode="IX" requestType="wait" /> </waiter-list> </pagelock> </resource-list> </deadlock> |
|||
17
mistеr
18.11.21
✎
17:11
|
(4) При формировании движений используется срез последних?
|
|||
18
TormozIT
гуру
18.11.21
✎
17:12
|
(17) Нет
|
|||
19
mistеr
18.11.21
✎
17:18
|
(18) Тогда не очень понятно, почему без итогов падает скорость..
|
|||
20
mistеr
18.11.21
✎
17:23
|
(16) Страничная блокировка — паршивый вариант.
ObjectId="72057594686668800" это кластерный индекс? |
|||
21
mikecool
18.11.21
✎
17:25
|
(20) страница же = 8Кб?
|
|||
22
mistеr
18.11.21
✎
17:27
|
(21) Да
|
|||
23
TormozIT
гуру
18.11.21
✎
18:16
|
(19) Падает скорость работы всех запросов суммарно.
|
|||
24
H A D G E H O G s
18.11.21
✎
18:36
|
(23) Подчинен регистратору?
|
|||
25
Добрыня Никитич
18.11.21
✎
18:41
|
(20) Если дедлок происходит на страницах, значит имела место эскалация?
(0) попробуй отключить эскалацию блокировок флагом 1211 |
|||
26
mistеr
18.11.21
✎
18:48
|
(24) Да, в заголовке указано.
(25) Вряд ли это первое, что стоит делать. Скорее последнее. |
|||
27
Добрыня Никитич
18.11.21
✎
18:49
|
(26) а что делать первое?
|
|||
28
Добрыня Никитич
18.11.21
✎
18:55
|
(26) проверить паралеллизм?
|
|||
29
rsv
18.11.21
✎
18:57
|
(0) странно . Есть итоги но 1с придумала сплиттера только для
Табличек итогов регистра накопления и бухгалтерии… |
|||
30
mistеr
18.11.21
✎
19:24
|
(29) Все появляется по мере возникновения потребности. И разделители, и итоги регистра сведений, появившиеся не так давно. Возможно, появятся и разделители для них.
|
|||
31
pechkin
18.11.21
✎
19:28
|
(30) как ты представляешь себе итоги по регистру сведений?
|
|||
32
Добрыня Никитич
18.11.21
✎
19:32
|
(11) Поставь совместимость 8.3.13
Для регистров сведений реализовано формирование кластерного индекса по измерениям для физических таблиц среза первых и среза последних. Повышена производительность работы физических таблиц срезов при большом количестве пользователей. Исключены взаимоблокировки при обновлениях физических таблиц срезов первых/последних. Источник: https://dl05.1c.ru/content/Platform/8_3_20_1613/1cv8upd_8_3_20_1613.htm#0055064e-0a7f-11e8-a3f7-0050569f678a |
|||
33
mistеr
18.11.21
✎
19:44
|
(32) Отсутствие кластерного индекса все объясняет. :)
|
|||
34
mistеr
18.11.21
✎
19:44
|
(31) Итоги или разделитель?
|
|||
35
pechkin
18.11.21
✎
19:46
|
(34) оазделитель конечно же
|
|||
36
pechkin
18.11.21
✎
19:48
|
(32) сколько раз они на это кластерный нарываются и все раано норовятся таблицы без него сделать
|
|||
37
mistеr
18.11.21
✎
20:24
|
(35) Не задумывался об этом. Вот сейчас задумался, и... на первый взгляд, ничто не мешает. Другое дело, стоит ли овчинка выделки...
|
|||
38
pechkin
18.11.21
✎
21:21
|
(37) у тебя тогда таблица итогов ничем от таблицы движений не будет отличаться
|
|||
39
mistеr
18.11.21
✎
23:07
|
(38) Количеством строк, как минимум :)
|
|||
40
TormozIT
гуру
18.11.21
✎
23:47
|
(32) Не могу. Встроенная БСП не дает.
|
|||
41
pechkin
19.11.21
✎
08:20
|
(40) добавь кластерный на скуле
|
|||
42
TormozIT
гуру
19.11.21
✎
09:10
|
(41) У меня тиражный продукт.
|
|||
43
pechkin
19.11.21
✎
09:12
|
И что 8.3.13 даже нельзя поставить? Под 8.1 чтоли пишешь?
|
|||
44
TormozIT
гуру
19.11.21
✎
12:45
|
У регистра есть индексированный ресурс "Задание". По нему соответственно в таблице итогов есть индекс, где он идет первым полем. Вот похоже на нем и идет страничное столкновение блокировок. Наложить управляемую блокировку на это поле платформа не предоставляет возможности. По идее она сама должна была наложить на него упр. блокировку. Но видимо забыли сделать.
|
|||
45
mistеr
19.11.21
✎
13:34
|
(44) Похоже или на нем? ObjectId чей, ты так и не ответил?
И полную структуру регистра давай. Может и можно что-то сделать. |
|||
46
Добрыня Никитич
19.11.21
✎
13:54
|
(44) >>По идее она сама должна была наложить на него упр. блокировку. Но видимо забыли сделать.
Разве платформа накладывает управляемые блокировки на дополнительные индексы? |
|||
47
TormozIT
гуру
20.11.21
✎
18:24
|
(45) Где смотреть associatedObjectId ?
|
|||
48
TormozIT
гуру
20.11.21
✎
18:30
|
(44) Проверил эту гипотезу с индексированным ресурсом.
Наложил в начале транзакции упр. блокировку по другому регистру сведений по всем значениям колонки "Задание". В этом регистре "Задание" является единственным измерением и нет периода. Параллельность снизилась. Но не помогло. Значит дело не в нем. |
|||
49
TormozIT
гуру
20.11.21
✎
18:46
|
Структура регистра
Показан кластерный индекс почти весь и кратко 2 остальных индекса https://i.imgur.com/M8YM0Hh.png |
|||
50
TormozIT
гуру
20.11.21
✎
18:49
|
(49) Точнее это не сам регистр, а таблица итогов среза последних, на которой очевидно и возникает дедлок.
|
|||
51
pechkin
20.11.21
✎
19:54
|
Wms пилите? Что за конфа?
|
|||
52
mistеr
22.11.21
✎
09:39
|
(47) sys.indexes, sys.tables
|
|||
53
TormozIT
гуру
23.11.21
✎
18:28
|
Теперь на другом более простом регистре возник тоже страничный дедлок на таблице итогов среза последних.
Для устранения проблемы - в начале транзакции добавил логически бесполезное чтение по первому измерению кластерного и единственного индекса этой таблицы Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | Т.Документ КАК Документ |ИЗ | РегистрСведений.Т.СрезПоследних(, Документ В (&Ссылки)) КАК Т |"; Запрос.Выполнить(); Пока вроде больше не появлялся. |
|||
54
Добрыня Никитич
23.11.21
✎
19:01
|
(53) А очему ты думаешь, что чтение устранит проблему? У тебя же дедлок на U и IX блокировках при записи в таблицу итогов, а судя по режиму совместимости при чтении не будет s-блокировки, то есть этот запрос ничего не меняет.
|
|||
55
assasu
24.11.21
✎
08:25
|
(0) у дедлоков 2 причины. для начала надо разобраться какая в нашем случае
и , ну я просто уточняю, точно не перепутаны дедлоки с ожиданиями ? |
|||
56
TormozIT
гуру
24.11.21
✎
08:32
|
(54) Потому что новый дедлок на блокировках IU-U
<deadlock> <victim-list> <victimProcess id="process21872047848" /> </victim-list> <process-list> <process id="process21872047848" taskpriority="0" logused="220984" waitresource="PAGE: 26:1:107081 " waittime="1075" ownerId="142657830" transactionname="user_transaction" lasttranstarted="2021-11-23T16:36:06.720" XDES="0x2170e530bd8" lockMode="U" schedulerid="6" kpid="10548" status="suspended" spid="66" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2021-11-23T16:36:08.260" lastbatchcompleted="2021-11-23T16:36:08.260" lastattention="1900-01-01T00:00:00.260" clientapp="1CV83 Server" hostname="SRV-AX-PCTEST01" hostpid="3916" loginname="sa" isolationlevel="read committed (2)" xactid="142657830" currentdb="26" lockTimeout="20000" clientoption1="671219744" clientoption2="128056"> <executionStack> <frame procname="adhoc" line="1" stmtstart="130" stmtend="3552" sqlhandle="0x02000000f54b5c242ff60f136d08d4d1e0ce391eaa134aa60000000000000000000000000000000000000000"> unknown </frame> <frame procname="unknown" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"> unknown </frame> </executionStack> <inputbuf> (P1 numeric(10),@P2 numeric(10),@P3 numeric(10),@P4 numeric(10))UPDATE T8 SET _Period = T1.Period_, _RecorderTRef = T1.RecorderTRef, _RecorderRRef = T1.RecorderRRef, _Fld5634RRef = T1.Fld5634RRef, _Fld5635 = T1.Fld5635_ FROM (SELECT T7._Period AS Period_, T7._RecorderTRef AS RecorderTRef, T7._RecorderRRef AS RecorderRRef, T7._Fld5633RRef AS Fld5633RRef, T7._Fld5634RRef AS Fld5634RRef, T7._Fld5635 AS Fld5635_, T7._Fld563 AS Fld563_ FROM (SELECT T3.Fld5633RRef AS Fld5633RRef, T3.MINMAX_PERIOD_ AS MINMAX_PERIOD_, SUBSTRING(MAX(T6._RecorderTRef + T6._RecorderRRef),1,4) AS MINMAX_RECORDERTRef, SUBSTRING(MAX(T6._RecorderTRef + T6._RecorderRRef),5,16) AS MINMAX_RECORDERRRef, T3.Fld563_ AS Fld563_ FROM (SELECT T4._Fld5633RRef AS Fld5633RRef, MAX(T4._Period) AS MINMAX_PERIOD_, T4._Fld563 AS Fld563_ FROM dbo._InfoRg5632 T4 INNER JOIN #tt103 T5 WITH(NOLOCK) ON T4._Fld5633RRef = T5._Fld5633RRef AND T4._Fld563 = T5._Fld563 WHERE ((T4._Fld563 = P1)) AND (T4._Active = 0x01) GROUP BY T4._Fld5633RRef, T4._Fld563) T3 INNER </inputbuf> </process> <process id="process2187202fc28" taskpriority="0" logused="276288" waitresource="PAGE: 26:1:105241 " waittime="1104" ownerId="142655257" transactionname="user_transaction" lasttranstarted="2021-11-23T16:36:06.350" XDES="0x21720252408" lockMode="IU" schedulerid="3" kpid="7416" status="suspended" spid="60" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2021-11-23T16:36:08.293" lastbatchcompleted="2021-11-23T16:36:08.290" lastattention="1900-01-01T00:00:00.290" clientapp="1CV83 Server" hostname="SRV-AX-PCTEST01" hostpid="3916" loginname="sa" isolationlevel="read committed (2)" xactid="142655257" currentdb="26" lockTimeout="20000" clientoption1="671219744" clientoption2="128056"> <executionStack> <frame procname="adhoc" line="1" stmtstart="130" stmtend="3552" sqlhandle="0x02000000fd76ad1643ce050176b4bcfab0ee95280c4728ff0000000000000000000000000000000000000000"> unknown </frame> <frame procname="unknown" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"> unknown </frame> </executionStack> <inputbuf> (P1 numeric(10),@P2 numeric(10),@P3 numeric(10),@P4 numeric(10))UPDATE T8 SET _Period = T1.Period_, _RecorderTRef = T1.RecorderTRef, _RecorderRRef = T1.RecorderRRef, _Fld5634RRef = T1.Fld5634RRef, _Fld5635 = T1.Fld5635_ FROM (SELECT T7._Period AS Period_, T7._RecorderTRef AS RecorderTRef, T7._RecorderRRef AS RecorderRRef, T7._Fld5633RRef AS Fld5633RRef, T7._Fld5634RRef AS Fld5634RRef, T7._Fld5635 AS Fld5635_, T7._Fld563 AS Fld563_ FROM (SELECT T3.Fld5633RRef AS Fld5633RRef, T3.MINMAX_PERIOD_ AS MINMAX_PERIOD_, SUBSTRING(MAX(T6._RecorderTRef + T6._RecorderRRef),1,4) AS MINMAX_RECORDERTRef, SUBSTRING(MAX(T6._RecorderTRef + T6._RecorderRRef),5,16) AS MINMAX_RECORDERRRef, T3.Fld563_ AS Fld563_ FROM (SELECT T4._Fld5633RRef AS Fld5633RRef, MAX(T4._Period) AS MINMAX_PERIOD_, T4._Fld563 AS Fld563_ FROM dbo._InfoRg5632 T4 INNER JOIN #tt102 T5 WITH(NOLOCK) ON T4._Fld5633RRef = T5._Fld5633RRef AND T4._Fld563 = T5._Fld563 WHERE ((T4._Fld563 = P1)) AND (T4._Active = 0x01) GROUP BY T4._Fld5633RRef, T4._Fld563) T3 INNER </inputbuf> </process> </process-list> <resource-list> <pagelock fileid="1" pageid="107081" dbid="26" subresource="FULL" objectname="StarykhTest2.dbo._InfoRgSL5637" id="lock217a03b3a00" mode="IU" associatedObjectId="72057594107854848"> <owner-list> <owner id="process2187202fc28" mode="IU" /> </owner-list> <waiter-list> <waiter id="process21872047848" mode="U" requestType="wait" /> </waiter-list> </pagelock> <pagelock fileid="1" pageid="105241" dbid="26" subresource="FULL" objectname="StarykhTest2.dbo._InfoRgSL5637" id="lock2178bbbce80" mode="U" associatedObjectId="72057594107854848"> <owner-list> <owner id="process21872047848" mode="U" /> </owner-list> <waiter-list> <waiter id="process2187202fc28" mode="IU" requestType="wait" /> </waiter-list> </pagelock> </resource-list> </deadlock> |
|||
57
mistеr
24.11.21
✎
09:03
|
(55) Причина в эскалации блокировок и неоптимальной структуре кластерного индекса. Радикальное решение в (32).
|
|||
58
assasu
24.11.21
✎
09:15
|
(57) нет таких причин дедлоков. Или дедлоки - это вовсе не дедлоки -:)
|
|||
59
mistеr
24.11.21
✎
09:37
|
(58) Ну озвучь свою версию. Все данные предоставлены.
|
|||
60
Добрыня Никитич
24.11.21
✎
10:41
|
(56) >>Потому что новый дедлок на блокировках IU-U
За счет чего, на твой взгляд, запросом на чтение в начале транзакции, ты убераешь дедлок? Он же не ставит никаких блокировок |
|||
61
pechkin
24.11.21
✎
10:44
|
на время выполнения запроса ставит
|
|||
62
Добрыня Никитич
24.11.21
✎
10:44
|
(61) Нет. На 8.3 включен режим версионности, и при чтении никаких блокировок нет.
|
|||
63
Конструктор1С
24.11.21
✎
10:59
|
(0) какие измерения в регистре и по какому признаку параллелится запись?
|
|||
64
TormozIT
гуру
24.11.21
✎
17:48
|
После (53) пока дедлоков новых не было. Но пока создано было мало документов. Продолжаю наблюдение.
|
|||
65
Добрыня Никитич
24.11.21
✎
18:02
|
(64) держи нас в курсе, переживаем за тебя!
|
|||
66
TormozIT
гуру
03.12.21
✎
18:49
|
Больше оба дедлока не появлялись. Напоминаю, что
- первый дедлок (на таблице упРаботыПоРейсу) я устранил жестко - отключил таблицу итогов среза последних после того, как взвесил оправданность ее использования. - второй дедлок (на таблице упЗаданияКПланированию) устранен чтением в начале транзакции по тому отбору, с которым затем будут добавляться строки в регистр сведений с включенной таблицей итогов среза последних |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |