sql >> Databasteknik >  >> RDS >> Mysql

SQL fast värde IN() kontra INNER JOIN prestanda

Detta relaterar till längden på IN-satsen - och vad som ibland kallas en BUG i MySQL.

MySQL verkar ha en låg tröskel för IN-klausuler, när den kommer att byta till en TABELL/INDEXSKANNING istället för att samla flera partitioner (en per IN-objekt) och slå samman dem.

Med en INNER JOIN tvingas man nästan alltid använda en direkt rad-för-rad i JOIN-samlingen, varför det ibland går snabbare

Se dessa MySQL-manualsidor

Jag kan ha fel eftersom det verkar antyda att IN (constant value list) bör alltid använda en binär sökning på varje objekt...




  1. Trunkering av alla tabeller i en Postgres-databas

  2. Hur man tar bort dubbletter i MySQL-tabellen

  3. Hur man lägger till en titel i en rapporthuvud i Microsoft Access

  4. Hur importerar jag XML-fil i Oracle SQL Developer?