Lars: MySQL mit 6,2 Mio. Datensätzen

Beitrag lesen

Hallo zusammen,

ich habe ein "kleines" Performance-Problem. Ich habe eine MySQL-Datenbank mit einer Tabelle, die mehr als 6 Millionen Datensätze beinhaltet. Dumm daran ist nur, dass einige Datensätze doppelt vorhanden sind. Jetzt habe ich versucht, per Skript die Datensätze löschen zu lassen.

<?php
echo "lese Daten: "; // Kontrollausgabe, ob der Skript überhaupt gestartet ist

$daten = mysql_db_query("datenbank","select id, name from tabelle group by name order by name") or die(mysql_error());

echo "Totalcount einzelne Firmennamen: ".mysql_num_rows($daten)."\n\n"; // Kontrollausgabe, um die Datenmenge  zu sehen

while ($wert = mysql_fetch_array($daten) )
{
    $i++;
    mysql_db_query('datenbank','delete from tabelle where name = "'. addslashes($wert[name]).'" and id != "'.$wert[id].'"') or die (mysql_error());
    echo "Name: ". $wert["name"] .", Datensatz: $i "; // erneute Kontrollausgabe, um zu prüfen, ob der Skript überhaupt noch arbeitet
}
echo "Fertig"; //Letzte Kontrollausgabe
?>

Der Skript läuft trotz Ausführung auf der Konsole sehr langsam. Hat jemand eine Idee, wie man diesen Skript optimieren/beschleunigen könnte?

Danke vorab

Lars