IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

taille disque pour type de donnée char (vide)


Sujet :

Oracle

  1. #1
    Membre du Club Avatar de aeled
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 84
    Points : 51
    Points
    51
    Par défaut taille disque pour type de donnée char (vide)
    Bon, le titre est pas super clair...

    Je voulais m'assurer d'un truc. Si dans la structure d'une base Oracle, un champ est déclaré en char(320). S'il y'a 2 caractères sur une ligne dans ce champ, la place disque occupée est tout de même de 320 octects pour ce champ non ? Il me semble que c'est fixe. Me trompé-je ?

    David

  2. #2
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Points : 202
    Points
    202
    Par défaut
    Non !! C'est cela !!

    Une colonne de type CHAR est comblée par des blancs si la valeur n'atteint pas la taille maxi de la colonne.

  3. #3
    Membre du Club Avatar de aeled
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 84
    Points : 51
    Points
    51
    Par défaut
    Merci pour la confirmation

    David

  4. #4
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Points : 202
    Points
    202
    Par défaut
    De rien !!!


  5. #5
    Membre du Club Avatar de aeled
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 84
    Points : 51
    Points
    51
    Par défaut
    Mmhh, y'a un truc que j'arrive pas à capter alors.

    J'ai lancé cette requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT     SEGMENT_NAME AS "TABLE", SUM(BYTES) / 1024 || 'Ko' AS "Taille", BLOCKS AS "Blocs", TABLESPACE_NAME AS TABLESPACE
    FROM         DBA_SEGMENTS
    WHERE     (SEGMENT_TYPE = 'TABLE')
    GROUP BY SEGMENT_NAME, TABLESPACE_NAME, BLOCKS
    ORDER BY SEGMENT_NAME
    C'est pas de moi, le problème vient peut-être de la requete.

    Sur une table ou un enregistement fait environ 1ko (à cause de trois champs en char(320) ), pour 13662 lignes j'obtiens une taille de 6.5 Mo. Soit environ la moitié de ce à quoi je m'attendais

    Une idée ?

  6. #6
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    il y a pas de valeur NULL ?

  7. #7
    Membre du Club Avatar de aeled
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 84
    Points : 51
    Points
    51
    Par défaut
    Si. La plupart du temps, deux des champs de 320 caractères sont à NULL sur une ligne.

    La regle serait donc :

    Si au moins un caractère, place occupée : 320
    Si valeur nulle sur le champ, place occupée : 0 (ou 1 octect pour le NULL ?)

    David

  8. #8
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    en effet, il ajoute des espaces à droite pour compléter la colonne uniquement si au moins un caractère est renseigné

  9. #9
    Membre du Club Avatar de aeled
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 84
    Points : 51
    Points
    51
    Par défaut
    Merci pour cette précision, ca colle plus avec les valeurs remontées par ma requete

    David

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/11/2014, 10h27
  2. Limiter les accès disques pour traitement des données.
    Par harry le ravi dans le forum Windows
    Réponses: 1
    Dernier message: 18/11/2009, 00h11
  3. Réponses: 1
    Dernier message: 19/02/2007, 09h50
  4. Extension des Types de Données(CHAR,CLOB)
    Par blackstreet dans le forum Oracle
    Réponses: 9
    Dernier message: 28/04/2006, 22h39
  5. Réponses: 3
    Dernier message: 07/02/2006, 13h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo