Question MySQL, choix TEXT ou VARCHAR et autre ? sur l'UTF-8

benmp2p
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 26
Inscription: 8 Juil 2005

Question MySQL, choix TEXT ou VARCHAR et autre ? sur l'UTF-8

Message le Ven Déc 22, 2006 19:18

Bonjour a tous,

Dans le cadre d'un projet sur lequel je bosse avec un ami, et qui intérréssera je pense (je l'espére) nos chers amis webmaster :)
nous avons quelques intérrogations concernant l'optimisation de MySQL.

- Dans une des tables MySQL, il nous faudra stocker le titre des sites
et leur URL. Je voudrais savoir quel serait le meilleur type pour les
deux : TEXT ou VARCHAR, d'un point de vue d'optimisation (rapidité et
occupation dans le disque). Est-ce que VARCHAR pourrait prendre plus
de place que TEXT dans le disque, car il n'est pas variable ? Est-ce
que TEXT est plus lent/rapide que VARCHAR lors des comparaisons ?
VARCHAR serait mieux pour les URL et TEXT mieux pour les titre ?

- Côté interclassement, que choisir ? Pour le Titre, j'ai choisi
l'UTF-8, car cela pourrait être intéressant pour les sites asiatiques
(entre autres). Pour les URL, un "ascii_general_ci" suffirait ? Il
faudrait passer en latin1 ?

- Je cherche un moyen simple de convertir le titre des sites en UTF-8.
Suis-je obligé de lire l'encodage du site en me basant sur ce qu'il y
a dans les <meta> ? Y-a-t-il un moyen plus simple, qui me permettrait
de détecter automatiquement l'encodage, puis de convertir le tout en
UTF-8 (c'est toujours permis de rêver ^_^ après tout, pourquoi pas ?).

Merci infiniment


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2217
Inscription: 10 Avr 2005

Message le Ven Déc 22, 2006 21:54

Salut,

Je n'ai pas le temps de te répondre et te rediriges vers le site Officiel au cas où tu ne l'aurais pas consulté.

http://dev.mysql.com/doc/refman/5.0/fr/ ... types.html


Serious
WRInaute passionné
WRInaute passionné
 
Messages: 2438
Inscription: 21 Nov 2005

Message le Ven Déc 22, 2006 22:17

2) je te conseille de tout stocker en UTF-8, tu y gagneras en simplicite.

3) c'est plus complique que ca ;)
il faut regarder s'il y a une meta dans le document
sinon il faut regarder l'entete Content-Type HTTP
sinon c'est du iso-8859-1 (mais pas toujours)
donc faut deviner...

Pour deviner, y a des libs dispos. Ca marche assez bien.


biddybulle
WRInaute passionné
WRInaute passionné
 
Messages: 1619
Inscription: 30 Mai 2005

Message le Sam Déc 23, 2006 0:50

Le char est est donnée Fixe que tu pourrais par exemple mettre pour des codes de sécurité sociale ou des champs dont la taille ne change jamais. La vitesse est optimisé au niveau des requêtes.

Varchar comme son nom l'indique a une taille variable entre jusqu'à 255. Ca fait un peu court pour l'utiliser dans le contenu d'un post d'un forum par exemple mais correspond bien pour des titres ou des adresses.

On lui préférera pour des pavés de texte la valeur TEXT. Dans la prochaine version de Mysql Varchar disparaitra au profit de varchar2 qui sera un mélange varchar/TEXT.

Après au niveau des optimisation de recherche, tu peux indexé les champs. De toute facon, la recherche et sa vitesse dépend surtout de la taille du champs.

L'utf8 est conseillé pour les formats, la compatibilité est plus universelle qu'un latin-1.

benmp2p
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 26
Inscription: 8 Juil 2005

Message le Sam Déc 23, 2006 11:59

Merci beaucoup pour vos réponses. c'est décidé, ca sera donc Varchar + utf-8
Pour deviner, y a des libs dispos. Ca marche assez bien.

Est ce que tu peut m'en dire plus :)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités