Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Firebird Transaction lange offen (https://www.delphipraxis.net/186853-firebird-transaction-lange-offen.html)

tsteinmaurer 7. Okt 2015 07:58

AW: Firebird Transaction lange offen
 
Read-Only, Read Committed. Transaktionen in dieser Kombination können lange offen bleiben. Read Committed gibt dir halt keine stabile Ergebnismenge bei mehrmaligen Ausführen einer Abfrage, aber das mußt du wissen, ob das für deinen Anwendungsfall Ok ist.

Gruber_Hans_12345 7. Okt 2015 08:52

AW: Firebird Transaction lange offen
 
Zitat:

Zitat von tsteinmaurer (Beitrag 1317862)
Read-Only, Read Committed. Transaktionen in dieser Kombination können lange offen bleiben. Read Committed gibt dir halt keine stabile Ergebnismenge bei mehrmaligen Ausführen einer Abfrage, aber das mußt du wissen, ob das für deinen Anwendungsfall Ok ist.

Ok danke mal

dh. alle andern die nicht "Read Committed" sind dürfen nicht lange offen bleiben? (dürfen -> damit nicht ein haufen Record Versionen entstehen und das system langsamer wird)

bewirkt ein Read Only eignetlich eine besserung abgesehen davon das ich halt nicht schreiben kann?

tsteinmaurer 7. Okt 2015 10:39

AW: Firebird Transaction lange offen
 
Es ist die Kombination aus Read Committed UND Read-Only. Generell sollte man Read-Only Transaktionen verwenden, wenn nur gelesen wird. So teilt man das Firebird entsprechend mit und Firebird weiß dann für konkurrierende Transaktionen, d.h. hier keine Datenänderungen zu erwarten sind.

Gruber_Hans_12345 7. Okt 2015 10:57

AW: Firebird Transaction lange offen
 
Also habe ich nur die möglichkeit für Reports
- entweder normal, dann habe ich richtige Daten aber die Transaktion sperrt die ganze zeit
- READONLY read committed, dann sperrt nix, aber die daten können falsch sein, wenn ich vor/zurückblättere
- Umbau auf Cachen der Daten

tsteinmaurer 7. Okt 2015 11:12

AW: Firebird Transaction lange offen
 
Was verstehst du unter "Sperren"?

Gruber_Hans_12345 7. Okt 2015 11:27

AW: Firebird Transaction lange offen
 
Zitat:

Zitat von tsteinmaurer (Beitrag 1317884)
Was verstehst du unter "Sperren"?

Das die Datenbank dann mit der zeit langsamer wird, weil der Garbage Collector nicht laufen kann, und die Records immer Versioniert werden müssen ...

tsteinmaurer 7. Okt 2015 12:01

AW: Firebird Transaction lange offen
 
Wenn du das unter Sperre verstehst, dann hast du vollkommen Recht.

himitsu 7. Okt 2015 12:45

AW: Firebird Transaction lange offen
 
Warum überhaupt eine Transaktion?

"Ein" SELECT ist in sich geschützt, vor fremden Schreibzugriffen.

mkinzler 7. Okt 2015 12:56

AW: Firebird Transaction lange offen
 
Das hat hat mit der Art und Weise zu tun wie FireBird die Transaktionssteuerung durchführt. Anstatt eines Logs wird Versionierung verwendet. Deshalb müssen auch Abfragen in einem Transaktionskontext erfolgen (zur Feststellung welche Version des Datensatzes genommen werden soll).

Gruber_Hans_12345 7. Okt 2015 12:57

AW: Firebird Transaction lange offen
 
Zitat:

Zitat von himitsu (Beitrag 1317894)
Warum überhaupt eine Transaktion?

"Ein" SELECT ist in sich geschützt, vor fremden Schreibzugriffen.

weil zumindest bei IBX ohne Transaktion gar nix geht ....


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:47 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz