Показать сообщение отдельно
Старый 01.02.2019, 14:28   #41  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,038 / 1629 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от skuull Посмотреть сообщение
Надо проверять больше чем на 1 примере!
Ну если внимательно почитать в посте 2 разных примера(обе сессии обновляют разные строки, размер таблицы большой по сравнению с кол-вом обновляемых данных)

Пример 1 - индекс по полю Field2, update_recordset по поля Field2 и Field3. получаем блокировку (которой не было при select forupdate)

Пример 2 - индекс по полю Field2,Field3 update_recordset первой сессии по полям Field2 и Field3, второй сессии по Field2, Field4 получаем блокировку (которой опять же не было при select forupdate)

Или 2 примера тоже мало? сколько надо?
Если смотреть на примеры из реальной жизни, то я уже приводил ссылку
https://axology.wordpress.com/2013/1...tional-tweaks/
Цитата:
Locking on the InventSumDelta table – additional tweaks - We tried changing the column sequence on the two tables to have Partition and DataAreaId in the beginning, but nothing happened until we disabled the ItemId index too. That had an instant effect and practically removed the deadlock issues immediately.
тут имеем похожую ситуацию как в примере 2. Решается удалением лишнего индекса

Цитата:
Сообщение от skuull Посмотреть сообщение
Так вы реально утверждаете, что стажер после 2 месяцев сможет внятно обьяснить почему ?
Извините, что два раза спрашиваю, но уж хочется понять зачем там этот отсыл к стажёру.
Конечно(но срок был от 2 до 6). если не может объяснить простейшую вещь как он сможет решать реальные проблемы на клиенте где нибудь в сибири?

Цитата:
Сообщение от skuull Посмотреть сообщение
Это не изменит мир, но точно будет быстрее. А зачем делать медленнее если можно быстрее?
Ну так рассуждая можно далеко зайти
  • зачем называть переменную custTable, ведь можно назвать с - код будет быстрее компилиться
  • зачем использовать стандартные методы разноски, ведь можно просто результат записать своим методом прямо в результирующие таблицы, так будет быстрее
  • зачем вообще писать код в АХ, ведь можно сделать хранимую процедуру, так будет еще быстрее
...
Обычно после таких рассуждений после пары месяцев c проблемами производительности у спонсора проекта возникает мысль - "Говорили же друзья, надо было брать SAP"

Последний раз редактировалось trud; 01.02.2019 в 14:45.