Вопрос

У меня есть текст SQL «Выбрать * от Table1 с (Nolock)».

Два вопроса:

  1. Как заставить мою TADOQUERY использовать Nolock Hint без необходимости включать, что в тексте SQL? Я буквально тысячи TADOQUERY с их SQL динамически построен, и было бы трудно добавить с (Nolock) всем из них, не говоря уже о том, что я использую с платформами базы данных, отличных от MSSQL. Есть ли недвижимость TADOQUERY?

  2. Как мне достичь то же самое с тадинаром? Тадиотируемый не имеет никакого SQL, так как мне сказать ему, чтобы использовать Nolock Hint?

Спасибо

Это было полезно?

Решение

Если вы используете MS SQL, запустите ниже оператор один раз на подключение

Установить уровень изоляции транзакций прочитал незарегистрированное

Встреча

Другие советы

Подсказки - это конкретная база данных, тем самым вы должны выдавать правильный для каждой поддерживаемой базы данных. В некоторых базах данных нет ничего, эквивалентного, например Oracle не позволяет ничего не допускать (читатели никогда не блокируют писателей, а писатели никогда не блокируют читателей, тем самым нет необходимости).

ИМХО, вы не должны использовать тадотные компоненты вообще - в любом случае AFAIK, у вас нет способа указать подсказку для сгенерированного запроса - что в любом случае слишком универсально.

Также вы должны быть ОЧЕНЬ Осторожно использовать Nolock. Это значит прочитать незарегистрированную, ака грязные чтения. Отказ Вы обходили защиту транзакций, и если у вас не очень хорошая причина обходить его, не стоит - усиление в производительности может не стоит потерь в целостности и согласованности данных.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top