Conseil hachage
le 07/07/2007 à 15:56
Bzh
Bonjour,
J'aimerai créer un hachage sur un varchar 255 de ma table.
Dans quel but ? Créer une jointure tout simplement.
Il y a une très forte perte de rapidité lorsque l'on utilise des varchar comme jointure.
Or, md5 me parait un tit peu lourd afin de générer un entier à partir d'une chaine de caratères.
Il y a t'il une solution moin couteuse en cpu ?
le 07/07/2007 à 15:59
Bzh
Je suis allé un peu vite.
De toute façon, md5 génère une chaine de caratère et non un entier !
Et la déclaration d'un index sur les colonnes varchar de tes deux colonnes n'améliore pas les performances ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
le 07/07/2007 à 17:20
Bzh
Non ! Ils sont bien en index !
Je voudrais créer un deuxième champ en entier !
Ce qui me titille c'est qu'il n'y en a pas beaucoup ! Il s'agit de "catégories" d'une gestion de news !
Il y aura au MAXIMUM 100 catégories différentes ( et je vois très très larges )!
Je ne veux pas utiliser une deuxième table pour gérer ces "catégories" car cela n'optimisera en rien pour un autre nombre de tuples aussi faible.
Je vais donc devoir coder la fonction moi même...
Si tu sais exactement quelles sont les différents éléments de cette énumération, peut-être qu'il serait intéressant d'utiliser le type
enum ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Désolé pour le double-post, on peut pas éditer ^^;
Tu as demandé à Explain si l'index était utilisé par le moteur de requête ? Tu peux forcer l'usage de l'index lors d'une jointure.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
J'aurai tendance à me poser la question autrement. Est-ce que le fait d'avoir un varchar manifestement un peu gros en tant que clé primaire d'une table est une bonne idée. Est-ce que la solution à ton problème n'est pas plutôt de revoir ton schéma ?
jérôme
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: