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

Proč použití IN(...) při výběru na indexovaných polích sníží výkon SELECT dotazu?

Abych řekl pravdu, toto tvrzení je v rozporu s mnoha radami, které jsem četl v knihách a článcích o MySQL.

Zde je příklad:http://www.mysqlperformanceblog.com/2010/01/09/getting-around-optimizer-limitations-with-an-in-list/

Navíc expr IN(hodnota, ...) samo o sobě má další vylepšení pro práci s velkými seznamy hodnot, protože se předpokládá použití jako užitečná alternativa k určitému range dotazy:

Stále nadměrné používání IN může mít za následek pomalé dotazy. Některé případy jsou uvedeny v článku .



  1. SQL server vybere odlišné řádky pouze pomocí nejnovější hodnoty

  2. vícenásobné dotazy mysqli - nastavená proměnná vytváří booleovskou chybu / jak to přeskočit?

  3. pgAdmin III Proč jsou výsledky dotazů zkráceny?

  4. Rails 3.1 - Pushing to Heroku - Chyby při instalaci postgres adaptéru?