Hallo,
in einer Tabelle steht u.a. ‚Baum_nr‘. Diese ist immer eindeutig und nur einmal vorhanden.
In einem PHP-array stehen ebenfalls Werte, die per ‚Baum_nr‘ nummeriert sind.
Nun möchte ich die array-Einträge, die noch nicht in der DB stehen, dort eintragen. Also das array mit der DB abgleichen. Dies soll aber möglichst performant geschehen, da die Abfrage jetzt schon ca. 10 Sek dauert und in Zukunft noch 1000 mal mehr Daten in die DB kommen.
Bisher so (funktioniert auch):
foreach ($BaumArray as $vv) {
...
$baum_nr = $vv[1];
...
// prueft, ob die jeweilige Zeile schon in der DB vorhanden ist und ueberspringt diese wenn ja
$stmtCheck = sqlsrv_query($con, "SELECT baum_nr FROM $table_raw WHERE baum_nr = $baum_nr";
if ($stmtCheck) {
$rows = sqlsrv_has_rows($stmtCheck);
if ($rows === true) {
continue; // ueberspringt den aktuellen Durchlauf der Schleife, weil die Daten schon vorhanden sind
}
}
... schreib neue Eintraege in die DB ....
}
Gibt’s ne schnellere Möglichkeit?
Gruß,
Paul