Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Трябва ли да използвам SQL транзакции, докато чета записи?

Ако правите заявки за всички записи в една заявка и ги изтегляте обратно наведнъж, няма нужда. Всичко е обвито в имплицитна транзакция. Тоест, дори ако върнете един милион записа и дори ако други процеси променят записите, вие ще видите как са изглеждали всички един милион записа в един и същи момент.

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


Накратко, имате нужда от транзакции, когато искате други процеси да бъдат спрени от намеса в данните ви между SQL изрази.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Конфигурация за репликация на транзакции на SQL Server

  2. Как да идентифицирате извикващия съхранена процедура от Sproc

  3. 3 начина за изтриване на дублиращи се редове в SQL Server, като игнорирате първичния ключ

  4. Методи за пейджинг на SQL Server 2008?

  5. Избор на първи ред за група