| |
Savez-vous bien utiliser les outils de mesure d'audience ? Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ? Savez-vous utiliser les bons outils pour booster votre taux de transformation ? La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions ! ===> Informations et inscriptions.
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
MadMatt Nouveau WRInaute
Inscrit le: 02 Sep 2007 Messages: 17
|
Posté le : Mer Nov 14, 2007 22:04 Sujet du message: Base MySQL et Index |
|
|
Bonjour à tous,
J'ai quelques question concernant les Index dans une table SQL.
Est-il utile de les mettre sur des champs enum (Par exemple sur un champ "Actif" qui détermine si un compte utilisateur est actif ou non) ? Car je me demande si ça pourrait accélérer le listage des comptes Actifs, ou au contraire si pour un enum c'est pas conseillé.
De même, est-ce "grave" si une table comporte plus de 5 Index environ (si j'en met un peu à tout va) ?
Est-ce utile en gros de mettre un Index sur chaque colonne que je risque d'utiliser comme filtre lors d'une requete (une recherche dans la base de données par exemple) ?
Merci si vous avez des conseils |
|
| |
|
 |
auboutdufil Nouveau WRInaute
Inscrit le: 19 Mai 2006 Messages: 21 Localisation: France
|
Posté le : Mer Nov 14, 2007 22:48 Sujet du message: Base MySQL et Index |
|
|
Salut Madmatt,
Moins tu auras d'index plus ils seront performants.
Tu dois créer ton index sur le champ très fréquemment utilisé dans tes selects.
Le champ où tu veux placer ton index doit avoir une fréquence d'échantillonage élevé (idéalement un champ unique), donc ça sert à rien sur un champ enum qui déduction a une petite liste de valeur
Je suis pas DBA alors tout ce que je dis est à prendre au conditionnel |
|
| |
|
 |
jcaron WRInaute passionné

Inscrit le: 13 Fév 2004 Messages: 521 Localisation: Paris
|
Posté le : Jeu Nov 15, 2007 0:51 Sujet du message: Re: Base MySQL et Index |
|
|
| MadMatt a écrit: |
| Est-il utile de les mettre sur des champs enum (Par exemple sur un champ "Actif" qui détermine si un compte utilisateur est actif ou non) ? Car je me demande si ça pourrait accélérer le listage des comptes Actifs, ou au contraire si pour un enum c'est pas conseillé. |
Oui, ça peut effectivement être utile. Maintenant demande-toi exactement quelle est la requête qui va utiliser cet index, si cette requête est exécutée souvent, et si elle aurait besoin d'autres choses. Si la requête n'est pas exécutée souvent, tu peux probablement te passer de l'index. Si la requête liste (par exemple) les 10 derniers compte actifs, en plus de l'état actif/inactif, tu peux avoir intérêt à mettre la date (celle qui compte pour "10 derniers") dedans. Comme ça il n'a pas besoin de parcourir tout l'index pour trouver 10 lignes.
| MadMatt a écrit: |
| De même, est-ce "grave" si une table comporte plus de 5 Index environ (si j'en met un peu à tout va) ? |
En lecture, un index ne gêne pas (ou très très peu, il faut juste décider s'il est utile de s'en servir ou pas). Par contre ça implique qu'à chaque écriture (insertion/mise à jour/supression) il va falloir mettre à jour tous ces index. Si tu écris très peu et lis beaucoup avec beaucoup de requêtes différentes qui ont besoin d'index différents, ajoute tous les index que tu veux. Si au contraire tu écris beaucoup, limite le nombre d'index.
| MadMatt a écrit: |
| Est-ce utile en gros de mettre un Index sur chaque colonne que je risque d'utiliser comme filtre lors d'une requete (une recherche dans la base de données par exemple) ? |
A moins que tu ne permettes une recherche sur n'importe quel critère, il vaut mieux adapter chaque index aux requêtes spécifiques que tu peux faire, avec éventuellement plusieurs colonnes dans chaque index.
NB: je n'utilise jamais mysql mais uniquement postgresql, donc je ne suis pas 100% certain que mysql soit capable d'utiliser des index multi-colonnes dans tous les cas de figure, mais je suppose et j'espère qu'il sait le faire!
Jacques. |
|
| |
|
 |
MadMatt Nouveau WRInaute
Inscrit le: 02 Sep 2007 Messages: 17
|
Posté le : Jeu Nov 15, 2007 14:45 Sujet du message: Base MySQL et Index |
|
|
Merci, c'était parfaitement ce que je cherchais comme réponse. Je vais appliquer vos conseils (je suis en train de reconcevoir la base de données, mieux vaut tard que jamais).
Bonne journée |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
|
|