Das kannst du ja einfach mal ausprobieren. Zumindest fällt der Overhead durch die vielen Abfragen weg. MySQLi kennt auch multi_query, damit kannst du deine Updates zusammenfassen.
http://www.php.net/manual/de/mysqli.multi-query.php
Hallo!
Ich habe eine foreach-Schleife, die bis zu 200 Mal durchlaufen wird. Bei jedem dieser 200 Durchläufe muss ich den Wert innerhalb der Schleife mit dem Wert einer mySQL Tabelle vergleichen. Die mySQL Tabelle hat ca. 6000 Einträge.
D.h.: 200 Mal müssen 6000 Einträge verglichen werden, eine Menge Traffic.
Wie kann ich das ganze optimieren?
Wäre es vielleicht besser, die mySQL Tabelle zunächst auszulesen, in einem Array zu speichern und das Array anschließend mit den Werten der foreach Schleife zu vergleichen? Ungefähr so:
if (isset($arrayMitDenWertenAusDerMysqlDatenbank[$wertInnerhalbDerForeachSchleife]))
{
....
}
Bei Übereinstimmung der Bedingung muss übrigens ein weiteres Query (UPDATE ....) vollzogen werden.
Das kannst du ja einfach mal ausprobieren. Zumindest fällt der Overhead durch die vielen Abfragen weg. MySQLi kennt auch multi_query, damit kannst du deine Updates zusammenfassen.
http://www.php.net/manual/de/mysqli.multi-query.php
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)