Я ищу несколько рекомендаций относительно наилучшего подхода к обработке данных в базе данных с использованием SQL Server.Множественные отчеты об обновлении/таблицы переходных процессов/предотвращение блокировки
В основном у меня есть серия переходных таблиц, которые загружаются данными, а затем выполняется ряд операторов обновления. Несколько экземпляров этих серий операторов обновления работают с одной и той же таблицей, но каждый экземпляр только обновляет строку с определенным идентификатором (lineage). Я ищу, чтобы иметь возможность уверенно избегать любых проблем с блокировкой/блокировок, когда экземпляры запускаются одновременно.
Две мысли у меня были на это следующим образом:
- Все обновления заявления содержат подсказку ROWLOCK, так что блокировка страниц не будет происходить, которые охватывают различные родословные.
- Измените уровень изоляции - грязные чтения никогда не произойдут. Может ли кто-нибудь пролить свет, на котором может быть лучший подход к этой ситуации?
Можете ли вы указать конкретную схему/DDL для таблицы - в частности, PK, индексы и т. Д.? – StuartLC
Хорошо, скажем, что у вас есть таблица id, lineageid, col1, col2 и т. Д. Операторы обновления действуют на col1 и col2 и т. Д. Для определенного lineageid. В таблице существует несколько наборов lineageid. Мы хотим обеспечить отсутствие блокировки. – dandcg