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

Kdy bych měl použít složený index?

Složený index byste měli používat, když používáte dotazy, které z něj těží. Složený index, který vypadá takto:

index( column_A, column_B, column_C )

bude přínosem pro dotaz, který tato pole používá pro spojování, filtrování a někdy i výběr. Bude také přínosem pro dotazy, které používají podmnožiny sloupců nejvíce vlevo v tomto kompozitu. Výše uvedený index tedy uspokojí i dotazy, které potřebují

index( column_A, column_B, column_C )
index( column_A, column_B )
index( column_A )

Ale nepomůže (alespoň ne přímo, možná to může pomoci částečně, pokud neexistují lepší indexy) pro dotazy, které potřebují

index( column_A, column_C )

Všimněte si, jak chybí column_B.

Ve vašem původním příkladu bude složený index pro dvě dimenze většinou přínosem pro dotazy, které se dotazují na obě dimenze nebo samotnou dimenzi nejvíce vlevo, ale nikoli samotnou dimenzi zcela vpravo. Pokud se vždy ptáte na dvě dimenze, složený index je způsob, jak jít, nezáleží na tom, která je první (s největší pravděpodobností).



  1. Umístění MySQL my.ini

  2. Příklady MAKETIME() – MySQL

  3. Řešení DevOps pro automatizaci vývoje databází

  4. Obnovení přístupu ke ztracenému heslu MySQL pro PHPMyAdmin na WAMP