mySQL : CHAR ou VARCHAR

mySQL : CHAR ou VARCHAR - SQL/NoSQL - Programmation

Marsh Posté le 11-06-2002 à 14:21:24    

J'ai des champs nom et prénom dans ma table (longueur 50), vous utiliseriez CHAR ou VARCHAR ???

Reply

Marsh Posté le 11-06-2002 à 14:21:24   

Reply

Marsh Posté le 11-06-2002 à 14:55:23    

si tu sais que ta chaîne fera toujours un nombre fixe de caractères, alors tu prend CHAR, sinon tu prends VARCHAR.
un exemple : pour une extension de fichier, tu sais que ça prendra tjs 3 lettres, alors tu mets CHAR. Pour un nom par exemple, tu mets VARCHAR


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 11-06-2002 à 15:02:51    

merci, mais au niveau de la rapidité d'accès, CHAR est plus rapide que VARCHAR non? Faut-il favoriser la taille (varchar plus petit mais moins rapide), ou la vitesse (char plus imposant mais plus rapide) ???

Reply

Marsh Posté le 11-06-2002 à 15:34:46    

j'ai jamais entendu dire que Varchar était moins rapide. Ce qui doit être moins rapide, c'est lorsque tous les enregistrements ne sont pas de taille égale, mais ça suppose que tu n'utilises que des char dans ce cas. Aucun attribut à longueur variable...


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 11-06-2002 à 15:56:44    

merci, je crois que je m'étais un peu pris la tete pour rien entre les CHAR et VARCHAR...c'est clair, VARCHAR est le mieux attapté dans mon cas

Reply

Marsh Posté le 11-06-2002 à 16:09:16    

varchar est moins rapide, ou plutôt peut être moins rapide car sa taille est variable :  
 
En gros,n'ayant pas d'espace alloué, lors d'un update, par exemple, les données se fragmentent (sur le fichier MYD), d'où une certaine lenteur qui peut se dégager....

Reply

Marsh Posté le 11-06-2002 à 16:19:46    

arretes ! tu va me faire douter de mon choix!  
 :??:

Reply

Marsh Posté le 11-06-2002 à 16:24:39    

http://www.volny.cz/iprenosil/inte [...] ngs_fr.htm
 
la joute CHAR VARCHAR à déjà commencé...

Reply

Marsh Posté le 11-06-2002 à 16:30:22    

madam a écrit a écrit :

http://www.volny.cz/iprenosil/inte [...] ngs_fr.htm
 
la joute CHAR VARCHAR à déjà commencé...  




ce qui est écrit la est specifique a interbase il me semble
de plus si difference il y a , c du pipi de chat à mon avis...
 
moi je serais d'avis de faire un choix "logique": si ta chaine est de lgueur variable tu prend varchar, si c fixe, tu prend char, et c tout.


Message édité par greg@freestarthu le 06-11-2002 à 16:30:52
Reply

Marsh Posté le 11-06-2002 à 16:50:36    

non ce n'est pas spécifique à interbase
 
(pour info, cf: http://ns3179.ovh.net/~phpinfo/?p= [...] tion-mysql ,chapitre "Configuration physique de MySQL " )
 
ceci dit, c'est du pipi de chat : peut-être, je n'en sait rien, ça dépend sûrement de la taille de la base, mais surtout de la fréquence des updates...
 
je suis d'accord avec toi, un choix "logique" me semble adapté. Reste à savoir après si tu veux un truc "nickel" ou un truc "nickel jusqu'au bout" ...  :)

Reply

Marsh Posté le 11-06-2002 à 16:50:36   

Reply

Marsh Posté le 11-06-2002 à 16:58:14    

ben là je te donnerai la réponse dans 4 mois, a la fin de mon stage ;)

Reply

Marsh Posté le 19-04-2004 à 14:20:05    

Personellement, je viens de créer un char(34) et il m'indique varchar(34)  :??:  
 
Vive mysql !
 
(ouais, je réagis 2 ans plus tard mais on me saoûle tout le temps avec "utilise la fonction rechercher avant de..."  ;) )


Message édité par zezette le 19-04-2004 à 14:21:43

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Sujets relatifs:

Leave a Replay

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