Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie viele Werte in einer in-Klausel sind zu viele in einer SQL-Abfrage?

Oracle hat ein Limit von 1000, das ich schon einmal erreicht habe. MySQL scheint das nicht zu stören. Die beste Lösung besteht jedoch darin, für einen so großen Datensatz keine IN-Klausel zu verwenden. Woher kommen die IDs? Wenn Sie aus derselben Datenbank stammen, prüfen Sie, ob Sie stattdessen eine Unterabfrage verwenden können, die auf der Grundlage eines Parameters sucht, z. Benutzer-ID, um die verknüpften IDs zu finden. Dies wird weitaus effizienter sein, da MySQL intern einen Join unter Verwendung von Indizes durchführen kann.