Question idiote ? Je sais pas....

morris42 Messages postés 5 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 18 janvier 2009 - 16 janv. 2009 à 01:52
morris42 Messages postés 5 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 18 janvier 2009 - 18 janv. 2009 à 05:10
Bonjour à tous,

J'ai passé plusieurs heures à réfléchir sur ma base Mysql.
J'ai transformé des VARCHAR (255) en CHAR(12) lorsque ma donnée semblait le supporter....
Des VARCHAR en TINYTEXT.....Etc, Etc....
Quelqu'un peut-il me dire en quoi ce travail est "productif" ?
Ma question est peut-être idiote, mais , franchement, je n'ai vu aucun changement, sauf que maintenant, lorsque j'ai mal évalué ma donnée, je me retrouve avec des textes coupés !
Merci pour toute réponse !

7 réponses

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
16 janv. 2009 à 10:29
Cette question est totalement idiote. Tu as déjà fait débordé un verre d'eau bah c'est pareil.
Tu as des boites de 255 bonbons maximum tu les remplis plus ou moins et ensuite tu veux mettre leurs contenu dans des boites de 12 bonbons maximum....
Moralité tu vas en manger >_<

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 37
16 janv. 2009 à 11:57
Salut,

Je ne vois pas trop ce que tu veux dire par productif
C'est plutot de l'optimisation pour le moteur.

Un varchar 255 --> De 1 a 255 caracteres (longeur variable)
Un char 12 --> 12 caracteres (longeur fixe) donc completer par des blancs ou tronqués (il faut trimé les resultats enlevé les espaces à droite)

Pour une base de données c'est le volume et les optimisations qui sont impactées.
Puisque le stockage d'un champ et l'access a ce dernier par le principe de page est en fonction du type de données.

Bon SQL
0
morris42 Messages postés 5 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 18 janvier 2009
16 janv. 2009 à 13:09
Merci Tecis01 et nhervagault.

J'avais bien conscience de l'analogie avec un récipient....Mais....
Si je comprends bien le pb, je ne comprends toujours pas la réponse !
Alors je reformule ma question de façon plus idiote encore !
"Qu'est ce que cela me rapporte à moi , d'avoir fait ce travail ?"
Est ce que mes visiteurs du site ont un meilleur accès ? Est ce que les pages s'affichent plus vite ? etc, etc....
Est ce que mes pages ont de plus zzzzolies couleurs ? ( Rires !!!)
Bref, "A quoi servent et, surtout, à qui
servent les optimisations" ?

Merci.
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 37
16 janv. 2009 à 13:28
Tes optimisations servent a rien si tu as une petite base des tables inférieur a 1000 enregistrements (chiffre au hasard)

Mais en général, c'est recommandé de gérer la taille (c'est une bonne pratique)

En gros c'est des possibilités de tuning offerts par les moteurs?

Le 255 n'est pas un nombre au hasard c'est 2^8 pour une manipulation aisée par le processeur.

Mais certains champs peuvent etre plus grand exemple une description de données.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
16 janv. 2009 à 13:40
Si tu devais gérer la mémoire d'un PIC je t'assure que c'est très utile. mais la limitation est telle aujourd'hui que ... 255 ou 12 char... c'est une goutte dans un lac (souvent)

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0
PlayerMania Messages postés 95 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 28 avril 2009
17 janv. 2009 à 23:24
Cette question n'est pas idiote...

CHAR(x) = x octets par ligne (taille fixe)
VARCHAR(x) = longueur chaine + 1octet par ligne (taille variable)

CHAR sera surtout utilisé pour des colonnes avec un nombre de caractere tjrs identique par ligne, ou pour des chaines de 1 caractere par ligne, cela permettra un gain d'octets par rapport a un VARCHAR, et un calcul un poil moins lourd pour en sortir la valeur de la ligne.

Bien sure ces gains sont super minime niveau tps d'execution (egalement en taille) tant que tu n'aura pas des milliers de lignes et/ou de la grosse requete, mais ils existent belle et bien.
0
morris42 Messages postés 5 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 18 janvier 2009
18 janv. 2009 à 05:10
Bonjour à tous,

Bien sure ces gains sont super minime niveau tps d'execution (egalement
en taille) tant que tu n'aura pas des milliers de lignes et/ou de la
grosse requete, mais ils existent belle et bien.

Mais c'est que j'ai beaucoup , beaucoup, beaucoup de lignes dans mes 3 bases... Et de la grosse, très grosse requête...
Avec une moyenne de 1000 visites quotidiennes uniques...visiteurs qui téléchargent toute la journée des fichiers zip de 20 Mo en moyenne...
Je veux pas utiliser ce forum pour la pub ...Mais allez voir là, si vous avez un peu de temps...
http://sitedudccn.com/accueil.php
Merci pour votre aide,
Après un amaigrissement sévère des tailles de mes variables, je n'ai pas vu d'améliorations sensibles...Donc, pas d'affolement ! ça tenait bien le coup !.
0