MySQL rechnen lassen ?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySQL rechnen lassen ?

    Hellas.

    Um in einer einzigen Abfrage alle Werte an meine Templateengin zu schicken hab ich mjir ein relativ abenteuerliches query gebastelt:
    Code:
    SELECT *,
    
    (SELECT SUM(Artikel_menge) FROM ".ANFANGSBESTAENDE." b 
    WHERE b.Artikel_id = a.Artikel_id and b.Anfangsbestand_jahr = ".WORKYEAR.") AS abestand,
    
    (SELECT SUM(Bewegung_menge) FROM ".LAGERBEWEGUNG." c 
    WHERE c.Artikel_id = a.Artikel_id) AS bewegung,
    
    (SELECT SUM(Bewegung_menge) FROM ".VLAGERBEWEGUNG." e 
    WHERE e.Artikel_id = a.Artikel_id and Bewegung_status != '0') AS vbewegung,
    
    (SELECT SUM(Bewegung_menge) FROM ".VLAGERBEWEGUNG." f 
    WHERE f.Artikel_id = a.Artikel_id and Bewegung_menge > 0 and Bewegung_status != '0') AS vb_pos,
    
    (SELECT SUM(Bewegung_menge) FROM ".VLAGERBEWEGUNG." g 
    WHERE g.Artikel_id = a.Artikel_id and Bewegung_menge < 0 and Bewegung_status != '0') AS vb_neg,
    
    (SELECT IF(bewegung<>0,abestand + bewegung,abestand))  as ist,
    
    (SELECT IF(vbewegung<>0,ist + vbewegung,ist)) as virtuell,
    (SELECT If(Artikel_mindestbestand=0,0,ist-Artikel_mindestbestand)) as diff,
    (SELECT If(Artikel_mindestbestand=0,0,virtuell-Artikel_mindestbestand)) as vdiff
    FROM ".ARTIKELTABLE." a
    Macht es Sinn, MySQL mit dem Rechnen zu "belasten" um den weg zum MySQL Server über mehrere Querys zu sparen oder ist es performanter, die Querys zu teilen und das Rechnen Php zu überlassen.

  • #2
    Also ich würde das mit PHP machen. Der Query ist nicht mehr wirklich übersichtlich.

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Re: MySQL rechnen lassen ?

      Ob man lieber die Datenbank oder das Script rechnen lässt, kommt auf den Einzelfall an - Komplexität der Berechnungen, etc.

      Aber generell würde ich überlegen, ob ich wirklich alle Abfragen in eine Query packe - das kann ja u.a. Einfluss darauf haben, wie gross der Puffer für die Übertragung von der DB an PHP dimensioniert werden muss, und damit beiderseits erhöhten Speicherbedarf bedeuten.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        okay, danke.

        an das speicherproblem hatte ich schonmal garnicht gedacht

        Die Überlegung war halt, das in meinem Fall zwar "nur" bis 50 Artikel auf einer Seite dargestellt werden, aber durchaus mehrere hundert sowohl tatsächliche als auch virtuelle bewegungen vorkommen können. das sind ja dann auch ein paar daten, die über die leitungen müssten.

        ich denke ich werd mal ein paar bewegungen "erfinden" und testen was schneller ist
        Zuletzt geändert von ; 03.04.2009, 17:05.

        Kommentar

        Lädt...
        X