Heim >Backend-Entwicklung >PHP-Tutorial >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?

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?

WBOY
WBOYOriginal
2016-12-05 13:44:301521Durchsuche

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.

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?

Antwortinhalt:

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.

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?

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn