sql >> Databáze >  >> RDS >> Mysql

SQL IN() s pevnou hodnotou vs. výkon INNER JOIN

To souvisí s délkou klauzule IN – a tím, čemu se v MySQL někdy říká BUG.

Zdá se, že MySQL má nízký práh pro klauzule IN, když se přepne na TABLE/INDEX SCAN namísto shromažďování více oddílů (jeden na položku IN) a jejich slučování.

S INNER JOIN je téměř vždy nucen používat v kolekci JOIN přímý řádek po řádku, proto je to někdy rychlejší

Viz tyto manuálové stránky MySQL

Mohu se mýlit, protože se zdá, že to znamená, že IN (constant value list) by měl vždy používat binární vyhledávání u každé položky...




  1. Vyžaduje MySQL InnoDB vždy index pro každé omezení cizího klíče?

  2. Více GROUP_CONCAT na různých polích pomocí MySQL

  3. Filtrování Django JSONField

  4. SQL Server Transakční replikace interní