MSDN описывает изоляцию транзакций JET для своего провайдера OLEDB следующим образом:Изоляция транзакций в JET?
Джет поддерживает пять уровней вложенности в сделках. Единственным поддерживаемым режимом для транзакций является Read Committed. Установка меньшего разряда уровней транзакционного разделения означает Read Committed. Установка более высоких уровней приведет к сбою StartTransaction.
Jet поддерживает только однофазную фиксацию.
MSDN описывает Read Committed
следующим образом:
Указывает, что общие блокировки удерживаются в то время как данные считываются с избежать грязного чтения, но данные могут быть изменены до конца сделки, что приводит к неповторяемым показаниям или фантомным данным. Этот параметр является стандартом SQL Server.
Мои вопросы:
Что совершают однофазный? Какое это имеет значение для транзакций и изоляции?
Будет ли уровень изоляции Read Committed, как описано выше, подходящим для моих требований here?
- Каков наилучший способ достижения изолированности транзакций Serializable с помощью Jet?
Сравнивая скорость JET и SQL-сервера, вы обнаружите в качестве общего правила, что значительное количество операций JET будет намного быстрее, чем использование SQL-сервера. SQL-сервер имеет несколько уровней программного обеспечения, файл журнала и уровень транзакции между вашим программным обеспечением и данными. В случае JET вы не используете сервер, вы не используете или не подключаетесь к службе, и в большинстве случаев вы не подключаетесь к данным через какое-либо сокет (сетевое) соединение. В результате вы напрямую используете диск в качестве файла, а результат - МНОГО более высокая производительность, чем SQL-сервер, на значительную сумму –