Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Commit oder Rollback, wenn nur gelesen wird

  Alt 24. Jan 2007, 14:09
Hallo ManuelR,

Unsinn ! (Tschulligung)

Jede Aktion findet im Kontext einer Transaktion statt,
um z.B. sicherzustellen, dass zweimaliges Select
(z.B. des gleichen Datensatzes) ímmer das gleiche ergibt,
auch wenn er von einer anderen Transaktion in der Zwischenzeit
geändert wurde (isolation level: repeatable read oder snapshot).

Wichtig ist das bei längeren Transaktionen,
z.B. Inventur.
Wenn z.B. ein

User1: Select * From Articles 100 Artikel anzeigt
User2: trägt einen neuen Artikel ein
User1: Select Count(*) From Articles ergibt trotzdem 100


Ich benutze beim Select manuelle Transaktionen,
weil das sehr bei mehreren Selects schneller ist,
also die von der (BDE, jaja) bereitsgestellten automatischen Transaktionen.

Bsp:
Ohne manuelle Transaktionen

Select * From bla1 1. Transaktion start/commit
Select * from bla2 2. Transaktion start/commit
Select * from bla3 3. Transaktion start/commit

mit manuellen Transaktionen
1. Transaktion Start
Select * From bla1
Select * from bla2
Select * from bla3
1. Transaktion Commit


Letzters ist in der Regel bei mir um Faktor 2-3 schneller.


Heiko
Heiko
  Mit Zitat antworten Zitat