AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Firebird Transaction lange offen

Firebird Transaction lange offen

Ein Thema von Gruber_Hans_12345 · begonnen am 6. Okt 2015 · letzter Beitrag vom 7. Okt 2015
Antwort Antwort
Seite 2 von 3     12 3   
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
527 Beiträge
 
#11

AW: Firebird Transaction lange offen

  Alt 7. Okt 2015, 07:58
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.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.341 Beiträge
 
Delphi 2007 Professional
 
#12

AW: Firebird Transaction lange offen

  Alt 7. Okt 2015, 08:52
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?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
527 Beiträge
 
#13

AW: Firebird Transaction lange offen

  Alt 7. Okt 2015, 10:39
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.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.341 Beiträge
 
Delphi 2007 Professional
 
#14

AW: Firebird Transaction lange offen

  Alt 7. Okt 2015, 10:57
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
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
527 Beiträge
 
#15

AW: Firebird Transaction lange offen

  Alt 7. Okt 2015, 11:12
Was verstehst du unter "Sperren"?
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.341 Beiträge
 
Delphi 2007 Professional
 
#16

AW: Firebird Transaction lange offen

  Alt 7. Okt 2015, 11:27
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 ...
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
527 Beiträge
 
#17

AW: Firebird Transaction lange offen

  Alt 7. Okt 2015, 12:01
Wenn du das unter Sperre verstehst, dann hast du vollkommen Recht.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
35.853 Beiträge
 
Delphi 10.4 Sydney
 
#18

AW: Firebird Transaction lange offen

  Alt 7. Okt 2015, 12:45
Warum überhaupt eine Transaktion?

"Ein" SELECT ist in sich geschützt, vor fremden Schreibzugriffen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.570 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#19

AW: Firebird Transaction lange offen

  Alt 7. Okt 2015, 12:56
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).
Markus Kinzler
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.341 Beiträge
 
Delphi 2007 Professional
 
#20

AW: Firebird Transaction lange offen

  Alt 7. Okt 2015, 12:57
Warum überhaupt eine Transaktion?

"Ein" SELECT ist in sich geschützt, vor fremden Schreibzugriffen.
weil zumindest bei IBX ohne Transaktion gar nix geht ....
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf