Question

Je suis question sur les stratégies d'index pour mysql - surtout quand utiliser un indice composite

J'ai un scénario db relationnel assez commun, voici ma table mis en place:

Maintable - table consisting of "products" including brandid, merchantid 

Alors je crée une table pour stocker les marques et les marchands

Brandtable - brandname, brandid
Merchanttable - merchantname, merchantid

Quand j'Interrogation de la maintable je questionne parfois brandid, parfois merchantid et parfois les deux. Quel est le meilleur à utiliser dans ce scénario, un seul index sur chaque colonne, ou de l'indice composite constitué à la fois?

Aussi, si je voulais inclure dans MERCHANTNAME et brandname une recherche textuelle, comment pourrais-je y parvenir?

Vive:)

Était-ce utile?

La solution

Dans ce cas, vous devez utiliser un index séparé pour chaque colonne. MySQL ne peut utiliser un index composite si vos requêtes impliquent les colonnes de cette extrême gauche indice composite.

par exemple., Si vous avez un indice composite de (brandid,merchantid), cet indice sera considéré comme si vous interrogez sur brandid ou brandid et merchantid. Pas si vous ne requête sur merchantid

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top