Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Quando devo usar um índice composto?


Você deve usar um índice composto quando estiver usando consultas que se beneficiem dele. Um índice composto que se parece com isso:
index( column_A, column_B, column_C )

beneficiará uma consulta que usa esses campos para unir, filtrar e, às vezes, selecionar. Também beneficiará as consultas que usam subconjuntos de colunas mais à esquerda nesse composto. Portanto, o índice acima também satisfará as consultas que precisam
index( column_A, column_B, column_C )
index( column_A, column_B )
index( column_A )

Mas não ajudará (pelo menos não diretamente, talvez possa ajudar parcialmente se não houver índices melhores) para consultas que precisam
index( column_A, column_C )

Observe como column_B está ausente.

Em seu exemplo original, um índice composto para duas dimensões beneficiará principalmente as consultas que consultam as duas dimensões ou a dimensão mais à esquerda por si só, mas não a dimensão mais à direita por si só. Se você está sempre consultando duas dimensões, um índice composto é o caminho a seguir, não importa qual seja o primeiro (provavelmente).