Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

AW: Array füllen mit Daten aus Datenbank (Join)

  Alt 12. Nov 2016, 18:02
Was mich gerade noch etwas irritiert: Für dein Wunsch-Ergebnis sind gar keine Kopfdaten enthalten. Das kannst du ja rein über die Prozessdaten befüllen.

Wenn du das Zeug jetzt eigentlich irgendwie nach den Kopfdaten filtern willst (also alle Messungen im Zeitraum xy) dann würde ich folgendes Vorgehen empfehlen:
  1. Kopfdaten selektieren, die du brauchst (SELECT * where Date > 2016-11-11)
  2. Deren ids sammeln (Clientseitig z.B. in einem Hashset)
  3. Messungen selektieren (SELECT * FROM `theTable` WHERE `id` IN (n, ... nk); )
Die Anzahl der SQL-Abfragen sollte möglichst nicht linear mit der Datenmenge skalieren. Daher würde ich Lösung 1 von dir ausschließen. Lösung 2 ist ok, wenn die Kopfdaten klein oder wenige Datenzeilen pro Messung vorliegen. Grund ist, dass du ja für jeden Datensatz die Kopfdaten nochmal im Ergebnis hast, was bei großen Kopfdaten irgendwann langsam wird.
  Mit Zitat antworten Zitat