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

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par benmp2p, 22 Décembre 2006.

Tags:
  1. benmp2p
    benmp2p Nouveau WRInaute
    Inscrit:
    8 Juillet 2005
    Messages:
    26
    J'aime reçus:
    0
    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
     
  2. dorian53
    dorian53 WRInaute passionné
    Inscrit:
    10 Avril 2005
    Messages:
    1 886
    J'aime reçus:
    1
  3. Serious
    Serious WRInaute passionné
    Inscrit:
    21 Novembre 2005
    Messages:
    1 834
    J'aime reçus:
    0
    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.
     
  4. biddybulle
    biddybulle WRInaute passionné
    Inscrit:
    30 Mai 2005
    Messages:
    1 428
    J'aime reçus:
    0
    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.
     
  5. benmp2p
    benmp2p Nouveau WRInaute
    Inscrit:
    8 Juillet 2005
    Messages:
    26
    J'aime reçus:
    0
    Merci beaucoup pour vos réponses. c'est décidé, ca sera donc Varchar + utf-8
    Est ce que tu peut m'en dire plus :)
     
Chargement...
Similar Threads - MySQL choix VARCHAR Forum Date
[PHP/MySQL] Choix du moteur MyISAM ou InnoDB ? Développement d'un site Web ou d'une appli mobile 14 Janvier 2017
[Sondage] Expliquez votre choix MySQL ou PostgreSQL Développement d'un site Web ou d'une appli mobile 11 Septembre 2009
Choix d' index pour une table mysql Développement d'un site Web ou d'une appli mobile 19 Décembre 2007
Choix aleatoire mysql Développement d'un site Web ou d'une appli mobile 12 Septembre 2007
Mysql : choix des types pour les champs entre : Développement d'un site Web ou d'une appli mobile 13 Juin 2006
Mysql : Impact convertion champ numérique SMALLINT vers BIGINT Développement d'un site Web ou d'une appli mobile 23 Août 2021
Quel SGBDR autre que MySQL/MariaDB ? Administration d'un site Web 12 Janvier 2021
encodage texte sur requete mysql Demandes d'avis et de conseils sur vos sites 21 Octobre 2020
Requête MySql imbriquée Développement d'un site Web ou d'une appli mobile 8 Octobre 2020
Supprimer les doublons d'une table mysql Développement d'un site Web ou d'une appli mobile 16 Juin 2020
Mysql migration utf8->utf8mb4 Développement d'un site Web ou d'une appli mobile 17 Août 2019
recherche lettres dans mysql Développement d'un site Web ou d'une appli mobile 11 Juillet 2019
cache mysql maison Développement d'un site Web ou d'une appli mobile 18 Février 2019
Stocker dans des variables php les fonctions MySql Développement d'un site Web ou d'une appli mobile 2 Février 2019
message : [LEGACY][libmysqlclient] Please consider moving to stable and mysqlnd in Administration d'un site Web 8 Novembre 2018
Connexion à un serveur mysql distant Développement d'un site Web ou d'une appli mobile 21 Octobre 2018
Mysql, modifier des chaines avec différents caractères Administration d'un site Web 13 Septembre 2018
Fusionner deux champs sur la même table et même base de donnée Mysql Administration d'un site Web 12 Septembre 2018
Requête Mysql avec des string Développement d'un site Web ou d'une appli mobile 6 Février 2018
Surveiller les connexions à la base de données MySQL Développement d'un site Web ou d'une appli mobile 1 Février 2018