indices composites mysql devrais-je les utiliser
-
20-09-2019 - |
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:)
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