Ако правите заявки за всички записи в една заявка и ги изтегляте обратно наведнъж, няма нужда. Всичко е обвито в имплицитна транзакция. Тоест, дори ако върнете един милион записа и дори ако други процеси променят записите, вие ще видите как са изглеждали всички един милион записа в един и същи момент.
Единствените моменти, в които наистина ще имате нужда от транзакция (и, често, конкретен намек за заключване) в процес само за четене, са:
- Вие четете записите „на парче“ и нямате нужда от нищо друго, за да промените стойностите, докато вие итерирайте все пак. [Като например свързан набор от записи в ADO, през който след това преминавате с курсор.]
- Четете някои данни, правите някои изчисления, след това четете някои свързани данни, но при предположението, че нищо не се е променило през това време.
Накратко, имате нужда от транзакции, когато искате други процеси да бъдат спрени от намеса в данните ви между SQL изрази.