Choix d' index pour une table mysql

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

pe.gaze
Nouveau WRInaute
 
Messages: 4
Inscription: Jeu Avr 20, 2006 10:09

Choix d' index pour une table mysql

Message le Mer Déc 19, 2007 11:59

Bonjour,

Les index sur les tables mysql ne sont pas encore très clairs dans ma tête, j'aurai aimé avoir vos conseils pour le choix d'index.

J'ai une base de photo avec des champs :

numero d'image (int) (primary key)
rubrique (varchar)
sous rubrique (varchar)
titre d'image (varchar)
text d'image (text)
etc...

Je fais essentiellement des requettes pour :
- afficher des galeries d'images par rubrique ou sous rubrique
- pour afficher les images.


Pour optimiser mes requêtes pour les galeries, dois-je créer un index sur : rubrique et sous rubrique ou alors faut il que je mette les autres champs également (titre, texte, etc...) ?

Ou alors, dois je faire un index dédié aux requettes par rubriques et un index dédié au requêttes par sous rubriques ?

Pour optimiser mes requêtes pour les photos dois-je créer un index ? le numero d'image est déjà Primary Key.

Merci d'avance,
Pierre-Etienne
Dernière édition par pe.gaze le Jeu Juil 03, 2008 10:58, édité 1 fois.


erestrebian
WRInaute impliqué
WRInaute impliqué
 
Messages: 394
Inscription: Ven Juin 15, 2007 12:55

Message le Mer Déc 19, 2007 12:12

Est-ce qu'il ne serait pas plus judicieux de stocker les rubriques et les sous rubriques dans deux tables externes... Cela pour deux raisons, d'une part tu as plus de chance de ne pas te tromper dans le nom de rubrique ou de sous rubrique, d'autre part, si un jour tu veux rajouter des champs à une rubrique ou une sous-rubrique, ce sera plus facile. La question que tu te poses est à combien de rubriques peut appartenir une sous-rubrique si c'est 1 tu peux mettres le numéro de rubrique dans la sous-rubrique, si c'est plus, il faut que tu crées une table intermédiaire où ta clef primaire sera l'ensemble num_rubrique, num_sous_rubrique.

pour les index, le mieux est que tu prennes donc rubrique et sous rubrique.

pe.gaze
Nouveau WRInaute
 
Messages: 4
Inscription: Jeu Avr 20, 2006 10:09

Message le Mer Déc 19, 2007 16:13

Merci pour ces éclairages ;-) Je vais voir comment améliorer ma table

pe.gaze
Nouveau WRInaute
 
Messages: 4
Inscription: Jeu Avr 20, 2006 10:09

Message le Sam Jan 19, 2008 11:49

Bonjour,

J'ai enfin trouvé le temps de plancher sur les index. Il est temps car j'ai vraiment dès problèmes de lenteur.
C'est la rédaction de ma requette qui n'est pas très claire.

J'ai créé un index : KEY `idx_galery` (`rubrique`,`sous_rubrique`)


Est ce que l'index idx_galery sera utilisé si j'écris en php ma requette ainsi :

SELECT * FROM tbl_photos WHERE rubrique = '".$var1."'

SELECT * FROM tbl_photos WHERE rubrique = '".$var1."' AND sous_rubrique = '".$var2."'


ou alors faut-il préciser dans la requette qu'il faut utiliser l'index ? Du genre :

SELECT * FROM tbl_photos WHERE idx_galery = '".$var1."'

SELECT * FROM tbl_photos WHERE idx_galery = '".$var1."' AND idx_galery = '".$var2."'

Merci d'avance pour votre aide. J'essaye de combler l'immensité de mes lacunes mais celà ne va pas très vite :-)


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: spout et 0 invités