Grosse table MySQL

Grosse table MySQL - PHP - Programmation

Marsh Posté le 20-10-2003 à 16:31:30    

Bonjour!
 
 
J'ai une table d'environ 290000 enregistrements. J'ai des index sur tous les champs sur lesquels je fais des conditionnelles (WHERE champ = 'blehbleh').
 
Je dois souvent faire un SELECT aléatoire sur un certains 'subset' de ces données du genre
 
SELECT le_seul_champ_dont_jai_besoin FROM mots WHERE type = 'ver' AND temp = 'Pre' AND mot_id >= 'valeur_aléatoire'
 
Alors voila, ca prend quand même bien du temp. Comment je pourrais optimiser ca? InnoDB c'est quoi ca? C'est plus rapide? Y'a d'autre type de table plus rapide? Par défaut c'est MyISAM, mais les autres, ca clanche?
 
 
 
Merci.


Message édité par porksoda le 20-10-2003 à 19:01:59
Reply

Marsh Posté le 20-10-2003 à 16:31:30   

Reply

Marsh Posté le 20-10-2003 à 18:21:19    

bah déjà faudrait connaitre la structure de ta table pour savoir si ca ne coince pas à ce niveau là...

Reply

Marsh Posté le 20-10-2003 à 19:05:14    


mot_id - index primaire - int(11)
mot_mot - le mot comme tel, var char(50), indexé sur toute la longueur
 
mot_origine - le mot d'origine, var char(50) pas encore indexé,
je fais pas de recherche dessus
 
mot_type - var char(3) indexé sur 3. contient le type du mot, verbe, adjectif, nom, pronom.. etc.
 
mot_conj - var char(100) contient une string contenant ca conjugaison, sexe, personnes si c'est un verbe. Indexé sur toute sa longueur
 
Comme vous voyez, j'me fous de la grosseur des fichiers index, j'veux juste que ca aie très vite

Reply

Marsh Posté le 20-10-2003 à 19:53:23    

bah déjà commence par changer tes varchar en char...

Reply

Marsh Posté le 20-10-2003 à 19:58:08    

Tu peux ajouter un index sur ta colonne "type" si tu fais des sélections dessus. Elle est de taille réduite, ca devrait bien aider :)

Reply

Marsh Posté le 20-10-2003 à 20:18:18    

j'en ai déja un mrBebert  :pt1cable:


Message édité par porksoda le 20-10-2003 à 20:20:07
Reply

Marsh Posté le 25-10-2003 à 19:01:39    

gizmo a écrit :

bah déjà commence par changer tes varchar en char...


 
 
ca change koi concretement?  :o


---------------
SHOOT ME AGAIN WEBZINE
Reply

Marsh Posté le 25-10-2003 à 19:28:06    

Dawa a écrit :


 
 
ca change koi concretement?  :o  

ca va plus vite :p


---------------
lecteur mp3 yvele's smilies jeux de fille
Reply

Marsh Posté le 25-10-2003 à 19:32:48    

pourquoi? :o


---------------
SHOOT ME AGAIN WEBZINE
Reply

Marsh Posté le 25-10-2003 à 19:40:31    

Dawa a écrit :

pourquoi? :o  

parce qu'il ont la meme taille, donc mysql c'est exactement combien de données il va extrait tandis qu'avec varchar il va valoir chercher la taille de donnée a extraire.
Enfin je pense que c'est ca  :D


---------------
lecteur mp3 yvele's smilies jeux de fille
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed