Jörg Peschke: mySQL-Daten aus 3 Tabellen zusammenfügen

Beitrag lesen

Hallo,

Dieser Vorgang dauert sehr lange (ca. 5min.). Kann es sein, daß das ganze von mir aufgrund meiner Unwissenheit blöd gemacht ist und man das um einiges beschleunigen könnte?

Generell gilt: Jeder Datenbankaufruf ist teuer (im Sinne von dauert lange). Du solltest deshalb Table-Joins verwenden, wenn Du daten aus verschiedenen Tabellen benötigst:

$sql = "SELECT
        tabelle1.F1,
        tabelle1.F2 AS T1_F2,
        ht.F1,
        ht.F2 AS ht_F2,
        ut.F1,
        ut.F2 AS ut_F2,
        tabelle1.F5,
        tabelle1.F6,
        tabelle1.F9,
        tabelle1.F11,
        tabelle1.F21,
        tabelle1.F12
        FROM tabelle1,ht,ut
        WHERE
        tabelle1.F5 = ht.F1 AND
        tabelle1.F6 = ut.F1";

while ($row = mysql_fetch_array($res2, MYSQL_ASSOC)) {
    echo $row[ht_F2]." ".$row[T1_F2]." ".$row[ut_F2]."<br>";
}

Update müsste auch über mehrere Tabellen gehen und sich mit SELECTs verschachteln lassen, hierzu solltest Du mal die Dokumentation Deiner Datenbank zu rate ziehen, das habe ich gerade nicht im Kopf.

Grüße,
Jörg