Bonjour à tous,
Dans le cadre de l'optimisation d'une base Oracle, j'aurai une question concernant le type CHAR.
Suite à une analyse de notre base, on nous conseille de remplacer tous nos CHAR par des VARCHAR2. Cependant, nous avons utilisés le type CHAR à bon escient, c'est à dire que nous ne l'avons utilisés que lorsque la valeur était toujours entièrement valorisée et non null. Dans ces cas là, est ce que l'utilisation du VARCHAR2 est utile ? Ou au contraire, comme je le pense, utiliser des VARCHAR2 prendra plus de place en base ?
En fait je vois les choses comme ça :
- CHAR(2) valorisé et non null prend 2 octets en base
- VARCHAR2(2) valorisé et non null prend 2 octets en base + 2 octets pour stocker la longueur, donc 4 octets.
Donc si cela est correct, CHAR(2) est mieux que VARCHAR(2) si la valeur est toujours valorisée.
PS : je suis tombé sur ce lien ici mais je trouve que la réponse n'est pas assez précise, donc j'ai préféré reposer la question![]()
Partager