Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Интенсивное чтение и одновременная запись в таблицу  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
В таблицу два интенсивных потока: один читает с использованием функций Change Tracking а другой пишет в ту же таблицу.
Возникают блокировки. При таком сценарии что посоветуете использвать?
Может SNAPSHOT изоляцию или даже версии строки? Как это совместимо с технологией Change Tracking ?
Есть у кого опыт?
С уважением, Алексей
9 ноя 12, 15:30    [13447118]     Ответить | Цитировать Сообщить модератору
 Re: Интенсивное чтение и одновременная запись в таблицу  [new]
Кудряшка
Member

Откуда: Сидней
Сообщений: 2219
А блокировки какие конкретно?
9 ноя 12, 15:34    [13447169]     Ответить | Цитировать Сообщить модератору
 Re: Интенсивное чтение и одновременная запись в таблицу  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
В смысле какие? Процесс читает и процесс пишет... Читающий ждет когда может наложить S или пишущий ждет когда снимется S. Процессы асинхронные.
9 ноя 12, 15:42    [13447264]     Ответить | Цитировать Сообщить модератору
 Re: Интенсивное чтение и одновременная запись в таблицу  [new]
Crimean
Member

Откуда:
Сообщений: 13147
а RCSI для базы включить? как минимум чтение "прикладных" таблиц будет развязано с записью туда же сразу и автоматически
9 ноя 12, 15:57    [13447418]     Ответить | Цитировать Сообщить модератору
 Re: Интенсивное чтение и одновременная запись в таблицу  [new]
Кудряшка
Member

Откуда: Сидней
Сообщений: 2219
Ну мало ли какие :) Мне отсюда не видно. Люди иногда уверены, что у них одно, а на самом деле совсем другое. Вы же не показали blocking report или хотя бы sp_lock... И про используемый уровень изоляции тоже ничего.

Применяйте RCSI. По идее друигих вариантов-то не особо и есть :)
Snapshot изолюцию я бы использовала только если есть требования видеть внутри транзакции до самого ее завершения только то, что было закомичено на ее начало.
9 ноя 12, 15:58    [13447422]     Ответить | Цитировать Сообщить модератору
 Re: Интенсивное чтение и одновременная запись в таблицу  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
Кудряшка
Ну мало ли какие :) Мне отсюда не видно. Люди иногда уверены, что у них одно, а на самом деле совсем другое. Вы же не показали blocking report или хотя бы sp_lock... И про используемый уровень изоляции тоже ничего.

Применяйте RCSI. По идее друигих вариантов-то не особо и есть :)
Snapshot изолюцию я бы использовала только если есть требования видеть внутри транзакции до самого ее завершения только то, что было закомичено на ее начало.


Ну да.... сам понимаю...Единственно, что смущает как read committed snapshot isolation будет работать совместно с Change Tracking
9 ноя 12, 16:16    [13447577]     Ответить | Цитировать Сообщить модератору
 Re: Интенсивное чтение и одновременная запись в таблицу  [new]
Crimean
Member

Откуда:
Сообщений: 13147
Aleksey-K,

а нафига вам СТ? это чуствительный оверхед + концентратор дедлоков. помешать читать изменения по стэмпу может только физическое удаление
9 ноя 12, 16:40    [13447813]     Ответить | Цитировать Сообщить модератору
 Re: Интенсивное чтение и одновременная запись в таблицу  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
Crimean
Aleksey-K,

а нафига вам СТ? это чуствительный оверхед + концентратор дедлоков. помешать читать изменения по стэмпу может только физическое удаление

Знаю, но уже сделано и менять это нельзя. Если только самому не написать свой Change Tracking...
9 ноя 12, 17:03    [13448045]     Ответить | Цитировать Сообщить модератору
 Re: Интенсивное чтение и одновременная запись в таблицу  [new]
Crimean
Member

Откуда:
Сообщений: 13147
так выборки не изменятся особо кроме случаев когда у вас "цветет" физическое удаление
ну и опять же эффективность обмена дельтами данных всегда зависит от мощности потока изменений и частоты обмена :)
9 ноя 12, 17:10    [13448129]     Ответить | Цитировать Сообщить модератору
 Re: Интенсивное чтение и одновременная запись в таблицу  [new]
Gleb1972
Member

Откуда:
Сообщений: 1
Реплицируйте таблицу. Читайте с копии.
12 ноя 12, 18:17    [13460834]     Ответить | Цитировать Сообщить модератору
 Re: Интенсивное чтение и одновременная запись в таблицу  [new]
Crimean
Member

Откуда:
Сообщений: 13147
Gleb1972
Реплицируйте таблицу. Читайте с копии.


это им надо будет транзакционную реплику + CT на подписчика вешать? вариант
12 ноя 12, 18:26    [13460882]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить