Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1651 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  BINARY() de MySQL vraiment lent...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

BINARY() de MySQL vraiment lent...

n°577651
porksoda
Posté le 27-11-2003 à 17:33:10  profilanswer
 


 
Bonjour!
 
J'ai une colonne indexée, sur la quelle je dois faire une requête du genre:
 

Code :
  1. SELECT * FROM mots WHERE BINARY(mot_mot) = BINARY('$valeur')


 
Mais c'est leeeeeeeeent. mot_mot était en VARCHAR(30), on m'a dit de convertir cette colonne en BLOB (BINARY) ca devrait accélérer. Malheureusement, pas du tout.
 
Z'avez une idée? Le but d'utiliser BINARY est que MySQL fasse la différence entre 'é' et 'ê', 'e' etc...
 
Merci!  :lol:  
 
 
 

mood
Publicité
Posté le 27-11-2003 à 17:33:10  profilanswer
 

n°577778
Freekill
Electron libre…
Posté le 27-11-2003 à 20:22:39  profilanswer
 

Fais une vérification sur les données extraites. (ie. pas dans la requête)
 
Tu ne devrais pas avoir beaucoup d'enregistrements retournés, il suffit de prendre le bon.


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
n°577793
porksoda
Posté le 27-11-2003 à 20:54:14  profilanswer
 

en fait, j'en ai qu'un. C'est sur.

n°577799
Freekill
Electron libre…
Posté le 27-11-2003 à 21:01:43  profilanswer
 

Je reformule : tu sélectionnes sans tenir compte des accents, puis tu testes les résultats obtenus pour ne garder que le bon. (s'il existe)
 
C'est plus clair ?


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
n°577846
porksoda
Posté le 27-11-2003 à 21:23:31  profilanswer
 

ahhhh... :ouch: je vois, merci!


Message édité par porksoda le 27-11-2003 à 21:24:04
n°577955
the real m​oins moins
Posté le 28-11-2003 à 01:04:14  profilanswer
 

euh en tous cas le coup de changer le varchar en blob c clair que ct un mauvais plan [:mlc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°578044
Mara's dad
Yes I can !
Posté le 28-11-2003 à 09:43:27  profilanswer
 

Tu peux spécifier les règles de comparaison au niveau :
 
Du serveur
De la base
De la table
Du champs
De la connexion
De la requête
 
http://www.mysql.com/doc/en/Charset-MySQL.html
 
Par exemple pour un champs :
 

CREATE TABLE Table1
(
   column1 VARCHAR(5) CHARACTER SET latin1 COLLATE latin1_bin
);


 
Dans une requête de ce genre :
 
select * from Table1 where column1 = 'teubé'
 
La règle précise que la 'COLLATION' du champs est prioritaire par rapport au litéral : http://www.mysql.com/doc/en/Charse [...] ricky.html
 
Si tu a la main su le serveur, tu peux changer la 'COLLATION' au niveau du serveur : http://www.mysql.com/doc/en/Charset-server.html
 
Le BLOD, c'est une mauvaise idée, très mauvaise. Ca va ralentir ton truc sans règler le problème...
 


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  BINARY() de MySQL vraiment lent...

 

Sujets relatifs
Sessions et MySQL...appele desespéré pour inserer une date en mysql
editeur mysqlsequence en mysql
Comment qu'on fait en MySQL....[MYSQL] GRANT pour une plage d'@IP
[résolu] accéder à une BDD MySQL sous LinuxMySQL ... conseils pour les tables...
serveur MySQL free : supprimer une table dont le fichier .frm est HS?MySQL, fait pas la différence entre "e" et "é"
Plus de sujets relatifs à : BINARY() de MySQL vraiment lent...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR