2 votes

mysql et index avec plus d'une colonne

Comment utiliser les index avec plus d'une colonne ?

L'index original a un index sur block_id Mais est-ce nécessaire quand il est déjà dans l'index unique avec deux colonnes ?

Index avec plus d'une colonne

(a,b,c)

  • vous pouvez rechercher a, b et c
  • vous pouvez rechercher a et b
  • vous pouvez rechercher un
  • vous pouvez pas recherche de a et de c

Cela s'applique-t-il également aux index uniques ?

table

id
block_id
account_id
name

index origine

PRIMARY KEY (`id`)
UNIQUE KEY `block_id` (`block_id`,`account_id`)
KEY `block_id` (`block_id`),
KEY `account_id` (`account_id`),

index alternatifs

PRIMARY KEY (`id`)
UNIQUE KEY `block_id` (`block_id`,`account_id`)
KEY `account_id` (`account_id`),

1voto

Karl T. Points 414

À ma connaissance, les règles que vous décrivez ci-dessus ont toujours été valables, qu'un index soit unique ou non. Vous pourriez lancer une explication sur la requête que vous avez en tête et observer quand l'index est utilisé et quand il ne l'est pas dans différentes circonstances.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X