sql >> Database teknologi >  >> RDS >> Mysql

SQL-fastværdi IN() vs. INNER JOIN-ydeevne

Dette relaterer sig til længden af ​​IN-klausulen - og det, der nogle gange kaldes en BUG i MySQL.

MySQL ser ud til at have en lav tærskel for IN-klausuler, når den vil skifte til en TABLE/INDEX SCAN i stedet for at samle flere partitioner (én pr. IN-element) og flette dem.

Med en INNER JOIN er det næsten altid tvunget til at bruge en direkte række-for-række i JOIN-samlingen, hvorfor det nogle gange er hurtigere

Se disse MySQL-manualsider

Jeg kan tage fejl, da det lader til at antyde, at IN (constant value list) bør altid bruge en binær søgning på hvert element...




  1. mysql workbench, udskift kolonne fra fil

  2. SQL Server 2016:Tilgængelighedsgruppeforbedringer

  3. sql jdbc getgeneratedkeys returnerer kolonne-id ikke fundet, kolonnetype ukendt

  4. Sikring af MySQL-forbindelse fungerer i PHP-funktion