Hallo Team!
Ich habe eine Produktdatenbank mit mehreren Tabellen. Die Haupttabelle lautet eben "PRODUKT" und dann gibt es eben noch dazugehörige Untertabellen.
Gleich vorneweg: Das Design der Datenbank ist nicht wirklich gut, es wurde von ms access in eine mysql Datenbank importiert. Das ganze wird jetzt aber nicht mehr geändert, da sich schon einige tausend Datensätze angesammelt haben.
Meine Frage:
Wenn ich mit einer einzigen Abfrage alle Tabellen mit LEFT JOIN miteinbeziehe, wird die query vorzeitig abgebrochen. Und das Problem hab ich - so glaub ich zumindest - schon erkannt. Hier mal die Query :
Dadurch, dass in der Tabelle 2 - 5 die ID mehrfach vorkommt - und diese auch alle benötigt werden, wird die Query extrem lang UND sie schleift auch in jedem Objekt immer wieder die ersten Abfragen immer wieder mit.
Hat es hier also mehr Sinn, 5 extra Queries zu erstellen? Oder ist mein obriger Ansatz kompletter Käse?
Ich habe mit großen Datenmengen wenig bis gar keine Erfahrung und bin für jeden Hinweis, wie man so etwas am besten handelt, sehr dankbar!
bis dann,
Stefan
Ich habe eine Produktdatenbank mit mehreren Tabellen. Die Haupttabelle lautet eben "PRODUKT" und dann gibt es eben noch dazugehörige Untertabellen.
Gleich vorneweg: Das Design der Datenbank ist nicht wirklich gut, es wurde von ms access in eine mysql Datenbank importiert. Das ganze wird jetzt aber nicht mehr geändert, da sich schon einige tausend Datensätze angesammelt haben.
Meine Frage:
Wenn ich mit einer einzigen Abfrage alle Tabellen mit LEFT JOIN miteinbeziehe, wird die query vorzeitig abgebrochen. Und das Problem hab ich - so glaub ich zumindest - schon erkannt. Hier mal die Query :
PHP Code:
SELECT
t1.SATZ1,
t1.SATZ2,
t1.SATZ3,
t1.SATZ4,
t1.SATZ5,
t1.SATZ6,
t1.SATZ7,
t1.SATZ8,
t1.SATZ1,
t1.SATZ2,
t2.* AS TABELLE2, // In dieser Tabelle sind mehrere Datensätze gleich
t3.* AS TABELLE3, // In dieser Tabelle sind mehrere Datensätze gleich
t4.* AS TABELLE4, // In dieser Tabelle sind mehrere Datensätze gleich
t5.* AS TABELLE5 // In dieser Tabelle sind mehrere Datensätze gleich
FROM TABELLE1 as t1
LEFT JOIN TABELLE2 as t2
ON LOWER(t2.SATZ1) = LOWER(t1.SATZ1)
LEFT JOIN TABELLE3 as t3
ON LOWER(t3.SATZ1) = LOWER(t1.SATZ1)
LEFT JOIN TABELLE4 as t4
ON LOWER(t4.SATZ1) = LOWER(t1.SATZ1)
LEFT JOIN PRODREGISTER as t5
ON LOWER(t5.SATZ1) = LOWER(t1.SATZ1)
WHERE t1.SATZ1 = '".$ID."'");
Hat es hier also mehr Sinn, 5 extra Queries zu erstellen? Oder ist mein obriger Ansatz kompletter Käse?
Ich habe mit großen Datenmengen wenig bis gar keine Erfahrung und bin für jeden Hinweis, wie man so etwas am besten handelt, sehr dankbar!
bis dann,
Stefan