Zusätzlich zu dem, was die Leute angegeben haben (wo id):
1) iF gibt es viele IDs, besser, sie in eine temporäre Tabelle zu stecken und einen Join mit dieser temporären Tabelle auszuführen
2) Stellen Sie sicher, dass Ihre Tabelle einen Index für die ID
hat3) Wenn die Aktualität der Daten nicht kritisch ist, legen Sie die Abfrageergebnisse auf der Anwendungsseite in einen Cache
Aber viermal pro Sekunde ist eine Menge. Ich würde über einen anderen Ansatz nachdenken, der weniger Datenbankzugriff benötigt.
Während ich dies weiter untersuchte, stieß ich auf einen interessanten Blog Post , das erklärt, wie man einen Satz verwendet, um eine schnellere SQL-Performance aus In-Klauseln zu erhalten, indem man eine Liste von IDs in einen gemeinsamen Tabellenausdruck (Common Table Expression, CTE) erstellt und dann daran anschließt.
Sie könnten also das PHP-Äquivalent des Folgenden codieren, um die maximale Leistung zu erhalten.
%Vor%Wenn Sie das tun
%Vor%Es sollte Ihnen gut gehen, solange die Anzahl der IDs nicht zu groß wird. Ich würde vorschlagen, dass Sie einen Index für die IDs erstellen, damit die Abfrage schneller ausgeführt wird.
Überlegen Sie auch, Ihre Logik zu ändern, damit Sie nicht so viele IDs übergeben müssen
Tags und Links sql optimization