Вопросы
1) есть таблица, там два поля есть. Записи часто обновляются Кроме того, часто происходит поиск по обоим полям одновременно и по первому полю.
Намного ли лучше будет, если создать индекс из двух полей и индекс из первого поля?
или инднеса из двух полей достаточно?
2) Подскажите, как опитимизировать запрос
Update A set x1 = @@value where id in (select top 100 id from A where x1 is null and x2=@criteria order by x3)
Есть иднесы на id, x1 и x2, x3
Работает медленно, при этом
set transaction isolation level read uncommitted
Update A set x1 = @@value where id in (select top 100 id from A where x1 is null and x2=@criteria order by x3)
Есть иднесы на id, x1 и x2, x3
работает быстрее, чем
set transaction isolation level read uncommitted
Update A set x1 = @@value where id in (select top 100 id from A with (nolock) where x1 is null and x2=@criteria order by x3)
Есть иднесы на id, x1 и x2, x3
— также неясно, почему
3)
Есть ли разница в работе простой транзакции
INSERT INTO A (x1,x2) values (@x1,@x2)
в зависимости от уровня изолированности, на котором она работает? кажется, нету, верно ли?
Заранее спасибо!