Einzelnen Beitrag anzeigen

khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#1

update zulangsam

  Alt 4. Nov 2010, 12:01
Datenbank: firebird • Version: 2.1 • Zugriff über: zeos
hallo zusammen,
ich habe folgendes SQLstatement:
Code:
update artikelpreise p1
set p1.bruttopreis =
(SELECT bruttoneu as bruttopreis FROM artikelpreiseaenderung p2
WHERE p1.artikelpreis_id = p2.artikelpreis_id ),
p1.nettopreis = (SELECT (bruttoneu / (100  + p2.mwstsatz ) *100 ) as nettopreis FROM artikelpreiseaenderung p2
WHERE p1.artikelpreis_id = p2.artikelpreis_id ),
aenderer = 'preispflege',
aenderdat = '04.11.10';
damit werden die Preise aus der Änderungstabelle in die Stammdatentabelle übernommen und dabei der Nettopreis berechnet.

Leider dauert dieses Statement bei nur 1000 DS bereits fast eine Minute.
Ein Prog das die DS der Änderungstabelle in einer Schleife durchgeht und die Artikelpriese einzeln ändert, dauert sogar 90sek.

Das obige in Firebird abesetzt braucht fast genau so lang.
Das sollte doch scheller gehen.
Was kann ich anders machen?

Gruss KHH
Karl-Heinz
  Mit Zitat antworten Zitat