|
|
su.dbms- SU.DBMS ---------------------------------------------------------------------- From : Tengiz Kharatishvili 2:5020/400 06 Jun 2001 08:10:33 To : All Subject : Re: Informix ? -------------------------------------------------------------------------------- u.ru> From: "Tengiz Kharatishvili" <tengiz.kharatishvili@gte.net> Reply-To: "Tengiz Kharatishvili" <tengiz.kharatishvili@gte.net> "Ilya Bricker" <ivb@unact.ru> wrote in message news:9fg2i3$2e6m$1@gavrilo.mtu.ru... > Я спрашиваю, можно ли сделать настройки для > определенной таблицы, такие, чтобы блокировка > всегда была на уровне строк, и блокировались бы > только строки, индексы не блокировались, > и никаких эскалаций не было. > Эскалация блокировок работает полностью автоматически и напрямую ничего с этим сделать нельзя. Hо, Вы можете указать соответствующий хинт (rowlock) для оптимизатора. Правда, это не всегда возможно - есть комбинации схемы данных, запроса и уровня изоляции при которых нельзя обойтись без табличных блокировок. Отказаться от блокировок на индексах тоже напрямую невозможно. Можно указать индексные хинты, перечисляя разрешённые для оптимизатора индексы и указать среди них только indid = 0 и 1 (select ... from x (index(1,0)). При этом будет или табличный скан, если не кластерного индекса, или будет использоваться только кластерный индекс. Других способов избежать блокировки определённого индекса нет. Hе понимаю, зачем так бояться блокировок на индексах - да, бывает, что для даже простых сценариев написанных "в лоб" дополнительные блокировки могут увеличивать вероятность всяких неприятностей - но, для того чтобы уметь их минимизировать, я бы посоветовал подробнее разобраться как это всё работает в SQL Server. Экспериментируйте - смотрите планы, изучайте что как и в какой последовательности блокируется. В общем - разбирайтесь с повадками и привычками сервера. Вы избежите многих проблем и граблей если будете хорошо ориентироваться в такой внутренней механике, которая на самом деле не очень глубоко закопана, и будете стелить солому в виде правильного выбранного уровня изоляции, lock hints, и, самое главное, тщательного продумывания схемы данных и стаднартных или часто используемых запросов. Cheers --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms/6577e4538ebe.html, оценка из 5, голосов 10
|