Einzelnen Beitrag anzeigen

lxo

Registriert seit: 30. Nov 2017
288 Beiträge
 
Delphi 12 Athens
 
#1

Firebird Insert

  Alt 29. Okt 2020, 09:12
Datenbank: Firebird • Version: 3.0.7 • Zugriff über: -
Hallo,

ich hab eine Prozedur in Firebird geschrieben um Datensätze zu kopieren.
In dem Fall wären es Anzeigeoptionen für Wirkstoffe.
Diese kann man mit der Prozedur von einem Werk in ein anderes kopieren.

Das geht schon relativ schnell ca. 20.000-25.000 Inserts pro Sekunde.

Meine Frage, könnte man das noch optimieren bzw. noch schneller machen.
Hat da jemand eine Idee?

Code:
  procedure KOPIERE_ANZEIGEOPTIONEN ( X_QUELLE_WIRKSTOFF type of column WIRK_ANZEIGEOPTIONEN.WIRKSTOFF,
                                            X_ZIEL_WIRKSTOFF type of column WIRK_ANZEIGEOPTIONEN.WIRKSTOFF,
                                            X_QUELLE_WERKNR type of column WIRK_ANZEIGEOPTIONEN.WERKNR,
                                            X_ZIEL_WERKNR type of column WIRK_ANZEIGEOPTIONEN.WERKNR)
  as
  begin
    delete from WIRK_ANZEIGEOPTIONEN WA
    where WA.WIRKSTOFF = :X_ZIEL_WIRKSTOFF and
          WA.WERKNR = :X_ZIEL_WERKNR;

    insert into WIRK_ANZEIGEOPTIONEN (WERKNR, WIRKSTOFF, ANZEIGE, DRUCK)
    select :X_ZIEL_WERKNR, :X_ZIEL_WIRKSTOFF, WA.ANZEIGE, WA.DRUCK
    from WIRK_TIERART WA
    where WA.WIRKSTOFF = :X_QUELLE_WIRKSTOFF and
          WA.WERKNR = :X_QUELLE_WERKNR;
  end
  Mit Zitat antworten Zitat