Wenn eine Abfrage aus einer Programmiersprache ausgeführt wird, treten folgende Schritte auf
- Es wird eine Verbindung zwischen Anwendung und Datenbank hergestellt (oder eine vorhandene Verbindung aus dem Pool verwendet)
- Die Abfrage wird an die Datenbank gesendet
- Die Datenbank sendet das Ergebnis zurück
- Die Verbindung wird dem Pool freigegeben
Wenn Sie N Abfragen ausführen, geschehen die obigen Schritte N Mal, was definitiv den Vorgang verlangsamen wird. Daher sollten wir idealerweise die Anzahl der Abfragen so gering wie möglich halten.
Es macht Sinn, eine Abfrage in mehrere Teile aufzuteilen, wenn eine einzelne Abfrage komplex wird und es schwierig wird, sie zu pflegen und sie lange dauert, um ausgeführt zu werden. In diesem Fall ist es auch ratsam, die Abfrage selbst zu optimieren.
In Ihrem Fall ist die Abfrage ziemlich einfach, und wie bereits erwähnt wurde, wird die Verwendung von UNION auch dazu beitragen, Duplikate zu entfernen. Der beste Weg ist also, sich für eine SQL-Abfrage anstelle von PHP-Code zu entscheiden. Versuchen Sie Optimierungstechniken wie das Erstellen geeigneter Indizes auf Tabellen.