Hallo,
ich habe mir in PHP folgenden Code geschrieben.
Die Aufgabe dieses Codes ist es aus einer txt-Datei (9 MB Groß) alle Wörter rauszusuchen die in das Suchmuster passen. In etwa sind dies 140 000 Wörter. Leider musste ich feststellen, dass PHP daran ganz schön zu schaffen hat. Es Arbeitet nun schon seit 4 Stunden und es ist noch kein Ende in Sicht. Der Code funktioniert aber. Es kommen laufend neue Datenbankeinträge hinzu.
Meine Frage an euch. Lässt sich mein Code irgendwie verbessern, dass PHP schneller arbeiten kann?
<?php
set_time_limit(0);
mysql_connect("localhost", " ", " ") or die("Verbindung zu MySQL gescheitert!");
mysql_select_db(" ") or die("Datenbankzugriff gescheitert!");
$woerter = file("woerter.txt");
for ($i = 0; $i <= count($woerter); $i++){
preg_match_all('/(?<anfang>^\w+) {|(?<mitte> [\w]+) {/', $woerter[$i], $treffer);
if ($treffer['anfang'][0] != "") {
$sql = "SELECT wort FROM woerter WHERE wort = '".$treffer['anfang'][0]."'";
$result = mysql_query($sql);
if (mysql_num_rows($result) == 0) {
$sql = "INSERT INTO woerter VALUES('', '".$treffer['anfang'][0]."', '', '', now())";
mysql_query($sql);
}
}
for ($z = 1; $z <= 6; $z++) {
if ($treffer['mitte'][$z] != "") {
$sql = "SELECT wort FROM woerter WHERE wort = '".$treffer['mitte'][$z]."'";
$result = mysql_query($sql);
if (mysql_num_rows($result) == 0) {
$sql = "INSERT INTO woerter VALUES('', '".$treffer['mitte'][$z]."', '', '', now())";
mysql_query($sql);
}
}
}
}
?>