Hast du Indices gesetzt?
indices sind wie gesagt kein allheilmittel. sie können helfen und nützlich sein, sind es oftmals auch. aber der hinweis auf den explain plan ist schon besser, bzw. wenn wir mal die abfrage sehen könnten inklusive der kardinalität der daten in den tabellen.
Ilja
Indices? Was ist das?
Die Datenbankstruktur möchte ich hier nicht zeigen. Ich möchte einfach Anregungen wie ich den Query nicht so extrem aufblasen muss so, dass ich die Daten korrekt erhalte.
Das ist die Abfrage wie es jetzt ist:
select r.id, r.apfel, r.birne,r.banane,r.kiwi,r.kartoffel,s.status,z.zustand, r.obst, r.gemuese from obstkorb r,status s,zustand z where s.id = r.statusid and z.id = r.zustandid
Das ist ja noch überschaubar und bezieht ja auch nur 2 externe Tabellen mit ein. Aber wenn ich versuche alle Datensätze mit dem bisherigen Skript abrufe bricht der Server das Skript ab.
Das kann ja mit 16 externen Tabellen dann ja nicht besser werden,oder?
Die csv Datei lasse ich so erstellen, vielleicht ist ja auch hier der Hund begraben:
while ($row = mysql_fetch_array($resOL))
{
$export = $export.$row["birne"].";".$row["banane"].";".$row["obst"].";".$row["gemuese"].";".$row["zustand"]."\n";
}
$datei = fopen("tmp/export.csv", "w");
fwrite($datei, $export);
fclose($datei);