Hallo zusammen,
ich habe nun auf nem P4 einen Apache und die neue MySQL aufgesetzt.
Ich habe darauf nun einer Art "Quiz-Beabrietungsseite" laufen, wo man auch doppelte Fragen finden/löschen kann. Soweit vorab.
Diese Doubletten-Suche hatte ich mir vorgestellt, dass er den ersten Datensatz nimmt und dann die DB mit like '%%$Frage%%' nach ähnlichen Fragen durchsucht. Funktioniert auch.
Die Datenbank hat aber inzwischen fast 28.000 Fragen und nun dauert eine Suche nach 100 (als Maxwert/Seite) Doubletten in 28.000 ungefähr eine halbe Minute und die Prozessorlast hängt dabei auf 100%. Jemand ne Idee?
Hier mal ein Teil aus dem Code:
Danke für Eure Hilfe und einen schönen Abend
Gruß,
SKB
ich habe nun auf nem P4 einen Apache und die neue MySQL aufgesetzt.
Ich habe darauf nun einer Art "Quiz-Beabrietungsseite" laufen, wo man auch doppelte Fragen finden/löschen kann. Soweit vorab.
Diese Doubletten-Suche hatte ich mir vorgestellt, dass er den ersten Datensatz nimmt und dann die DB mit like '%%$Frage%%' nach ähnlichen Fragen durchsucht. Funktioniert auch.
Die Datenbank hat aber inzwischen fast 28.000 Fragen und nun dauert eine Suche nach 100 (als Maxwert/Seite) Doubletten in 28.000 ungefähr eine halbe Minute und die Prozessorlast hängt dabei auf 100%. Jemand ne Idee?
Hier mal ein Teil aus dem Code:
PHP-Code:
$res = @mysql_query("select * FROM $table ORDER BY Frage DESC LIMIT $now, $ppp");
while ($reihe = mysql_fetch_array($res, MYSQL_ASSOC))
{
$result = mysql_query("SELECT * FROM $table WHERE Frage like '%%$reihe[Frage]%%' AND id!='$reihe[ID]' AND Antwort!='reihe[Antwort]'");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
// ab hier wird dann eine Tabelle gefüllt, wenn Doubletten vorhanden sind.
Gruß,
SKB
Kommentar