|
|
#5 |
|
Участник
|
Цитата:
Сообщение от FoxSoft2005
Счетчики - это, конечно, хорошо.. А что говорят пользователи? Как там одновременный учет документов разными юзерами?
Данная галка всего-лишь добавляет хинт ROWLOCK к некоторым запросам. Еще для всех индексов принудительно ставится флаг AllowRowLocks = TRUE. Этот флаг принуждает оптимизатор SQL сервера ВСЕГДА использовать блокировку на уровне строк в обход других блокировок. Вообще говоря, обход оптимизатора делать не рекомендуют, так как в разных случаях доступа к данным таблицы может использоваться РАЗНЫЙ механизм блокировок. Таким образом, в одном случае Вас спасет флаг, а в других сделает только хуже. Например, блокировка на уровне строк может крайне плачевно сказаться на отчетности. А что могут говорить пользователи, кроме как "ничивонеработаит" даже тогда, когда система летает? Одновременный учет идет не хуже чем до установки галки, но в час пик все равно проскакивают единичные дедлоки (вижу сам на соседнем мониторе с перфмоном, он постоянно перед глазами). В целом система работает вполне удовлетворительно, но с появлением свободного времени сделаю следующее (в порядке убывания приоритета):1. апгрейд на SQL 2005 и на некоторых таблицах ALTER INDEX...SET(ALLOW_PAGE_LOCKS=OFF) 2. внимательный анализ кода, изменяющего таблицы, на которых рубятся дедлоки. Есть подозрение, что где-то блокируется больший набор записей, чем нужно для текущей транзакции. 3. применю методики, описанные в этой статье: http://dynamicsuser.net/blogs/stryk/archiv...sql-server.aspx |
|
|