Einzelnen Beitrag anzeigen

Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#1

Firebird Trigger asynchron ausführen

  Alt 9. Jan 2013, 16:22
Datenbank: Firebird • Version: 2.5 • Zugriff über: egal
Hi,

gibt es in Firebird eigentlich eine Möglichkeit, einen Trigger, bzw. eine Procedure asynchron auszuführen?

Ich habe mir eine Volltextsuche mit diversen Procedures und Triggern programmiert.
Beim Insert oder Update wird die Volltextsuche für einen bestimmten Datensatz erneuert, beim Delete wird die Volltextsuche für den bestimmten Datensatz gelöscht. Funktioniert soweit super.

Jetzt ist es aber so, dass die Indizierung erst fertiggestellt werden muss, bevor ein Insert / Update / Delete fertig ausgeführt ist. Die Zugriffskomponenten warten da natürlich drauf und verlangsamen so das Programm.

Im Normalfall dauert die Indizierung zwar nur so kurz, dass ich den Performanceverlust nicht spüre, aber bei Batchimports oder ähnliches, merkt man es dann schon.

Toll wäre also eine Möglichkeit, um dem Trigger (der die Procedure aufruft) oder der Procedure selbst zu sagen, dass die Indizierung ruhig in einen 2. Thread ausgelagert werden kann, und die Indizierung nicht in "Echtzeit" ausgeführt werden muss...

Gibt es so etwas?
Auch würde mich interessieren, ob es sonst Datenbanken gibt, die so etwas können...
  Mit Zitat antworten Zitat