Heim > Artikel > Backend-Entwicklung > javascript – Das Einfügen eines großen Benutzer-ID-Arrays in eine Abfrageanweisung mit mehreren Tabellen führt dazu, dass die Abfrage zu lange dauert. Wie kann ich sie optimieren?
In der Multi-Table-Association-Abfrageanweisung führt die Platzierung eines großen Benutzer-ID-Arrays zu einer zu langen Abfragezeit.
1. Die Abfrageanweisung ist wie unten gezeigt und die Ausführungszeit beträgt 147,4 ms.
In der Multi-Table-Association-Abfrageanweisung führt die Platzierung eines großen Benutzer-ID-Arrays zu einer zu langen Abfragezeit.
1. Die Abfrageanweisung ist wie unten gezeigt und die Ausführungszeit beträgt 147,4 ms.
WHERE id IN (1,2,3)
entspricht WHERE id = 1 OR id = 2 OR id =3
bei so vielen ODER-Bedingungen, dass es normal ist, auch wenn es einen Index für die ID gibt, der langsam ist.
Die Hauptursache für dieses Problem ist ein unangemessenes Design der Tabellenstruktur. Die Optimierung von Abfragen ist ebenfalls eine vorübergehende Lösung, aber nicht die Hauptursache.
Seien Sie also nicht zu besorgt, wenn Sie die Struktur entwerfen.
Verwenden Sie außerdem EXPLAIN oft