OVH Cloud OVH Cloud

Question amusante d'espace...

1 réponse
Avatar
+The_Taco+
Bonjours, je vais vous expliquer le concept.

Si j'ai un champ d'une table de type nvarchar(250), et sa valeur est NULL,
est-ce que cela prend de l'espace système?

Si j'ai un champ d'une table de type nvarchar(250), et sa valeur est "
"(espace vide), est-ce que l'espace réservé à la variable de type varchar
est prit au complet?

Merci beaucoup de répondre à cette petite devinette, j'ai grandement besoin
de la réponse :)

1 réponse

Avatar
bruno reiter [MVP]
avec du nvarchar, n'est utilisé que la taille nécessaire au stockage, mais si le
champ est NULL il y a un bitmap spécial pour les nulls dans l'enreg

vérifies avec ça :

create table bb
(
ca int null,
cg char(4) null,
cb datetime null,
ch varchar(4) null,
cc smalldatetime null,
cj char(4) null
)
go

insert bb values (1, 'aaaa', null, 'aaaa', null, 'aaaa')
insert bb values (2, 'aaaa', '20021201', 'aaaa', '20021201', 'aaaa')
insert bb values (3, 'aaaa', '20021201', 'aaaa', null, 'aaaa')
insert bb values (4, 'aaaa', null, 'aaaa', '20021201', 'aaaa')
insert bb default values

go

SELECT first FROM sysindexes
WHERE id = object_id ('bb')
AND indid in (0, 1)

/*
si le résultat est par exemple 0xC70000000100, inverser les bytes pour obtenir :
00 01 00 00 00 C7
00 01 est le numéro de fichier
00 C7 est le numéro de page, soit 199 en notation décimale
*/


dbcc traceon(3604)
go
dbcc page ('brtst1', 1, 199,1) -- (base, fichier, page, type liste)

drop table bb


***************
br

"+The_Taco+" wrote in message
news:u$lZ$$8%
Bonjours, je vais vous expliquer le concept.

Si j'ai un champ d'une table de type nvarchar(250), et sa valeur est NULL,
est-ce que cela prend de l'espace système?

Si j'ai un champ d'une table de type nvarchar(250), et sa valeur est "
"(espace vide), est-ce que l'espace réservé à la variable de type varchar
est prit au complet?

Merci beaucoup de répondre à cette petite devinette, j'ai grandement besoin
de la réponse :)