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