Pit: mysql: Designfrage / nochmal eine Rückfrage

Beitrag lesen

Hi dedlfix,

Klar. Aber SQL hat ja eine Unmenge an Programmierlogig bereits integriert.

Ja, aber dazu müsstest du dich mit Stored Procedures befassen.

Ich meinte eigentlich noch simpler. Auch jede ("if-when-usw".) Abfrage ist ja schon Programmierlogig. (wenn auch in diesem Fall vielleicht nicht anwendbar).

Das ist sozusagen wie das Lernen einer Programmiersprache. Und dann kannst du dir ein Programm ausdenken, das das gewünschte Ergebnis bringt. Aber im Prinzip ist es egal, ob du das in einer Stored Procedure oder anderenorts (z.B. PHP) machst. Es ist jedenfalls deutlich aufwendiger als mal eben ein SQL-Statement aus dem Ärmel zu schütteln.

Ok.

Unkompliziert kann sein, aber performant ist das nicht bei steigender Anzahl der Daten. Es ist eine Abwägungsfrage, und es wird den Bereich geben, ab dem eine solche Vorgehensweise anfängt, auffallend Zeit zu verbrauchen. Bei wenigen Datensätzen wirst du nichts merken, vielleicht auch noch nicht bei wenigen hundert oder tausend oder wie auch immer. Aber bedenke, dass du pro Datensatz und pro Tag des Abfragezeitraums eine Query absenden must. Das läppert sich recht schnell zusammen.

Warum soll das bei zunehmenden Daten signifikant unperformanter sein? Solange der Abfragezeitraum z.b. auf 4 Wochen begrent ist, werden immer 28 Abfragen abgefeuert (natürlich auszuwählen aus einer steigenden Anzahl der Datenmenge). Und in der Ergebnismenge finden sich jeweils die Daten für alle User dieses Tages. Oder was meinst du genau?

Pit