Hi,
ich schreibe eine Anwendung mit php auf mysql-Basis. An einer Stelle werden die Datensätze aus mysql abgefragt und in einer HTML-Tabelle ausgegeben. Das Laden dieser Tabelle dauert schon mit 4500 Datensätzen knapp 30 Sekunden...
Beispielhaft die wichtigsten Auszüge:
$query = "SELECT Beschreibung FROM Tabelle1";
$result = mysql_query($query) or die(mysql_error());
while ($array = mysql_fetch_array($result))
{
echo "<tr onmouseover='change_to(this);' onmouseout='change_back(this);' onclick = 'docSenden(this);'>";
echo "<td>" . $array[Beschreibung] . "</td></tr>";
}
echo "</table>";
Wir haben schon ein wenig herumgesucht: die SQL-Abfrage (bei mir natürlich ein wenig größer und verschachtelt) ist so in Ordnung, Fremdschlüssel sind vorhanden. In mysql dauert das Ausführen 0,2 Sekunden... so weit, so gut.
Ersetzt man die tr-Zeile oben durch ein einfaches echo "<tr>", wird die Tabelle in etwa 1/5 der Zeit geladen. Deswegen mein Verdacht, daß es an den onmouseout/ onmouseover/ onclick-Ereignissen liegt. Seht ihr das genauso? Wenn ja, warum ist das so? Auf dieser Seite steht doch nur Text, die eigentliche Verarbeitung findet doch erst statt bei einer Mausbewegung/ einem Klick.
WIe könnte man das lösen (evtl. Optionen des Servers?) bzw. eindämmen? Bin für jeden Ansatz dankbar!
Viele Grüße,
Julia