Ich habe 2 Tabellen:
tab.rechnungsdetail enthält 130.000 Datensätze und
tab.rechnungen enthält 15.000.
Die folgende Abfrage überschreitet natürlich locker 60 sek. und führt zum Abbruch.
Wie könnte ich das optimieren?
edit: Hab mittlerweile rausgefunden, das die SUM Funktion den Datenstau verursacht.
Ich versuch die Daten in ein Araay zu packen und danach die Summe zu bilden.
Es sei denn, jemand hat eine bessere Idee?
tab.rechnungsdetail enthält 130.000 Datensätze und
tab.rechnungen enthält 15.000.
Die folgende Abfrage überschreitet natürlich locker 60 sek. und führt zum Abbruch.
Wie könnte ich das optimieren?
Code:
$rechnungen_19 = mysql_query(" SELECT tab_rechnungen.RNR, SUM(tab_rechnungsdetails.VK_PREIS) AS NETTOSUMME, MWST FROM tab_rechnungsdetails Inner Join tab_rechnungen ON tab_rechnungen.RNR = tab_rechnungsdetails.RNR WHERE tab_rechnungsdetails.MWST = '19' AND tab_rechnungsdetails.VK_PREIS <> '0' AND tab_rechnungen.JAHR = '2010' AND tab_rechnungen.MONAT LIKE '5' AND (tab_rechnungen.UEBERSCHR LIKE 'rechnung' OR tab_rechnungen.UEBERSCHR = '') ORDER BY tab_rechnungen.JAHR DESC, tab_rechnungen.MONAT DESC, tab_rechnungen.LFDNR DESC") or die(mysql_error()); $summe_19 = mysql_fetch_array($rechnungen_19); if ($summe_19['NETTOSUMME'] > '0') { echo 'Nettoumsatz (ohne KV): '.number_format(round($summe_19['NETTOSUMME'],2), 2, ',', '.').' Euro<br> UST darauf: '.(number_format(round($summe_19['NETTOSUMME'],2), 2, ',', '.')*19/100).' Euro<br>'; }
Ich versuch die Daten in ein Araay zu packen und danach die Summe zu bilden.
Es sei denn, jemand hat eine bessere Idee?
Kommentar