Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1023 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  ORACLE : occupation mémoire du varchar2

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ORACLE : occupation mémoire du varchar2

n°1127215
batin
Posté le 22-06-2005 à 11:36:51  profilanswer
 

Bonjour,
question simple :
j'ai une table toto, avec une colonne col1 number, et une col2 varchar(1000).
 
Sachant que ma colonne 2 (donc varchar2) est vide dans 99% des cas, est ce que il y a une réservation de 1000 caractères par ligne (dans le tablespace) ou oracle gère intelligement le truc en n'occupant de la place que si le champ est non nul.
Je suis en oracle v7 et supérieur...
 
Merci !!

mood
Publicité
Posté le 22-06-2005 à 11:36:51  profilanswer
 

n°1127261
skeye
Posté le 22-06-2005 à 12:15:56  profilanswer
 

batin a écrit :

Bonjour,
question simple :
j'ai une table toto, avec une colonne col1 number, et une col2 varchar(1000).
 
Sachant que ma colonne 2 (donc varchar2) est vide dans 99% des cas, est ce que il y a une réservation de 1000 caractères par ligne (dans le tablespace) ou oracle gère intelligement le truc en n'occupant de la place que si le champ est non nul.
Je suis en oracle v7 et supérieur...
 
Merci !!


 
Aucune idée...[:joce]
Mais est-ce que ce serait pas tout bêtement plus malin de virer ta colonne 2 de cette table et de la mettre dans une autre qui fera la relation entre col1 et col2?


---------------
Can't buy what I want because it's free -
n°1127274
batin
Posté le 22-06-2005 à 12:28:40  profilanswer
 

sisi bien sur.
Mais bon, c'était pour un exemple.  :wahoo:  
En fait, ma table contient un number + 20 champs textes qui ne sont pas tous remplis (environ 2 ou 3 par lignes).
Impossible de changer la structure de la table, c'est un progiciel ...
 

n°1127285
theshockwa​ve
I work at a firm named Koslow
Posté le 22-06-2005 à 12:52:44  profilanswer
 

varchar, c'est à taille variable ... il me semble même que ca occupe 1 octet caractère de plus que la chaine à stocker, mais c'est à vérifier.
 
edit : correction mineure ...


Message édité par theshockwave le 22-06-2005 à 12:53:58
n°1127309
moi23372
Posté le 22-06-2005 à 13:20:05  profilanswer
 

je confirme oracle intelligement stocke uniquement la taille de la chaine plus un caractere pour la longueur effective...

n°1127568
batin
Posté le 22-06-2005 à 16:17:55  profilanswer
 

heu ... en quoi oracle est-il intelligent si il réserve systématiquement LONGUEUR_VARCHAR+1 ?
 
Donc, si j'ai 20 champs VARCHAR(100), chaque ligne occupe 2000 (ou 2020 avec le +1) ... C'est nul, surtout si un seul champ est rempli ...
 
c'est quoi la différence entre VARCHAR et VARCHAR2 ?

n°1127632
pouyotte
Posté le 22-06-2005 à 16:43:47  profilanswer
 

Je ne suis pas sûre mais, je crois que le VARCHAR2 réserve LONGUER_REELLE +1 donc si chaîne vide juste 1.  
C'est d'ailleurs pour ça qu'il vaut mieux utiliser VARCHAR2 que CHAR...

n°1129568
theshockwa​ve
I work at a firm named Koslow
Posté le 24-06-2005 à 10:40:27  profilanswer
 

oui, c'est bien ce que je voulais dire ... la taille n'est pas fixée à celle donné lors de la création de la table. Il s'agit de la longueur réelle de la chaine stockée +1.
 
donc une chaine "foo" sera stockée avec 4 caractères quand bien même on la stockerait dans un champs prévu pour des chaines allant jusqu'à 200 caractères


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  ORACLE : occupation mémoire du varchar2

 

Sujets relatifs
[C#] Connexion Oracle avec OracleClient.dllproblème avec ma procédure sous oracle
[SGBD]Consommation memoire SQL SERVER 2000Group By & Order By Oracle
Modifier document.cookie en memoire vivePb de connexion Oracle
Où trouver Oracle???Plateforme Win32 et très forte charge : SQL Server ou Oracle
[Edit] Forcer Oracle à retourner une ligne avec des 0Structure d'une table ORACLE
Plus de sujets relatifs à : ORACLE : occupation mémoire du varchar2


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR