Savoir le poid d'une entrée en sql

Par SAMO, il y a 8 ans


Base de données MySQL

Bonjour , je voudrais savoir comment avoir en octet le poid que prend en mémoire ces 2 champs avec une requête sql pour comparer le comportement d'un char et varchar . Merci

image

J'ai inserer une image local "(file:///C:/Users/HsDemoniacal/Pictures/char.png)" mais sa marche pas en markdown.

16 réponses

Psylozoff, il y a 8 ans

un champ char(x) prends x octets en mémoire, quoi que tu y mettes... Si tu mets "machin" dans un champs char(100) ça prend 100 octets!

Un champ varchar(x) prends juste ce qu'il faut + quelques octets en fonction de l'implémentation du sgbd..! Si tu mets "machin" dans un varchar(100) ça prend 6 + n octets! "n" dépend de la façon dont ce type de champ est géré! C'est variable... En général c'est entre 2 et 8...

En pratique, si tu sais que ton champ contiendra des textes de longueurs quasiment identiques, opte pour un char! Et si ça varie beaucoup, go varchar!

Psylozoff, il y a 8 ans

Consulte la doc du sgbd que tu utilises...

SAMO, il y a 7 ans

Merci beaucoup pour ta réponse , c'est plus claire maintenant pour moi . Le problème e la doc de mysql c'est que c'est en englais ...

SAMO, il y a 7 ans

et aussi c'est quoi la syntaxe a suivre pour inserer une image en local avec Markdown ?
J'ai inserer une image local "(file:///C:/Users/HsDemoniacal/Pictures/char.png)" mais sa marche pas en markdown.

Balsakup, il y a 7 ans

Salut,

Tu peux pas insérer des images locales. Il faut qu'elles soient hébergées sur internet ;)

Si tu mets "machin" dans un varchar(100) ça prend 6 + n octets! "n"

Pas vraiment, ça dépend de l'encodage de ta base ;)

SAMO, il y a 7 ans

A voila merci je me suis casser la tête a chercher le combo

SAMO, il y a 7 ans

image

Psylozoff, il y a 7 ans

@Balsakup On parlait de la différence entre char et varchar, hein... Peu importe l'encodage, une unité de caractère prend autant de place pour char et varchar!

Balsakup, il y a 7 ans

Bah si, il veut savoir la taille en octet, l'encodage compte

je voudrais savoir comment avoir en octet le poid que prend en mémoire ces 2 champs

-- L'architecte

Psylozoff, il y a 7 ans

L'encode n'a rien à voir avec les points de différences qui existent entre char et varchar...

Surtout que tu balances juste ça en mode "hey hey", alors qu'au lieu de faire le kéké tu aurais pu simplement corriger l'équation : (nb_char * char_size) + quelques octets, dans le cas d'un varchar..!

Sauf que, c'est bien beau, mais ça complexifie le bordel pour rien! Ce qu'il demande n'est pas forcément ce qu'il veut! En général, quand quelqu'un pose ce genre de question c'est juste un débutant qui veut connaitre la différence entre les deux options...

Balsakup, il y a 7 ans

Sauf que, c'est bien beau, mais ça complexifie le bordel pour rien!

Il pose une question précise, je vais pas lui répondre à côté. C'est à lui de bien poser sa question.

C'est peut être complexe, mais au moins il sera au courant de cette notion, je participe à sa connaissance :*

L'encode n'a rien à voir avec les points de différences qui existent entre char et varchar...

Je ne parlais pas de l'encodage au niveau différence entre char et varchar, mais de la place prise par un charactère dans le SGBD.

Psylozoff, il y a 7 ans

C'est ce que je suis en train de dire... L'encodage n'a rien à voir avec le sujet... De quel encodage pourrais-tu parler autre que "l'encodage"..? Quel rapport avec la différence entre char et varchar..?! C'est quoi cette précision X-D

Balsakup, il y a 7 ans

Entre latin1_general_ci et utf8_general_ci le poid en octet de certains caractères ne seront pas le même, sa question initiale porte sur le poid en octet.

Psylozoff, il y a 7 ans

T'as du mal, hein...

Sa demande concerne la comparaison du comportement de char et varchar!!! L'encodage, il s'en branle très probablement ;-p Et entre latin1 qui est de l'ascii et utf8 qui est de l'unicode 8 bits, les caractères feront tous... 8 bits!! Donc, aucune différence :-s Essaie encore... Bien que ce soit inutile...

Psylozoff, il y a 7 ans

Ton premier lien pourrait éventuellement être intéressant vu qu'il traite du sujet qui reste "la différence de comportement de char et varchar"! Par contre, le deuxième est HS... En tout cas, bravo, tu as enfin donné une info en rapport avec le sujet :-)