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 :

IOT et gestion de l'overflow


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 81
    Par défaut IOT et gestion de l'overflow
    bonjour à tous,

    J'ai créé des IOT pour améliorer les perfs d'accès à des tables très peu souvent modifiées

    Mais à l'occasion de cette création, sont apparues des tables SYS_IOT_OVER... que je n'arrive pas à manipuler facilement (difficile de changer les droits par exemple) et que je dois gérer de manière particulière (dans certaines parties de mon code applicatif).

    Et il conseillé ou possible de créer des IOT sans condition d'OVERFLOW ?
    Comment calculer le meilleur PCTHRESHOLD ? (taille en % au delà duquel les colonnes sont enregistrées dans cette table système de gestion de l'info séparée de l'index PK)


    Merci pour votre expérience
    A bientôt

  2. #2
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    et que je dois gérer de manière particulière (dans certaines parties de mon code applicatif).
    Il s'agit de l'implémentation physique. Transparent pour l'appli !

    Les colonnes en overflow peuvent être déterminées explicitement avec la clause INCLUDING. On peut y mettre les colonnes larges qui ne sont pas frequemment accédées, afin de réduire la taille de l'index.

    Cordialement,
    Franck.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 81
    Par défaut comment se passer des tables SYS_IOT_OVER_... ?
    Merci Franck pour ta réponse

    Dans mon code applicatif, j'ai une procédure stockée qui liste toutes mes tables et tous les objets pour en contrôler les droits et pour les recréer de manière systématique (je sais ce n'est pas forcement très malin mais pour l'instant j'ai cette contrainte et je me sers de cette PS comme d'un utilitaire)

    Je chercherais donc à créer des IOT sans SYS_IOT_OVER_... d'autant que mes tables organisées en index sont plutôt très légères
    Est ce que PCthreshold=0 suffirait il ?

    Et comment faire si j'ai besoin de changer de tablespace ces tables-système ou si je veux les copier dans un autre schéma et changer le propriétaire ?

    J'imagine que c'est la meme chose pour les tables SYS_IOT_MAPPING_...

    Bonne journée
    Jerome

  4. #4
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    La valeur par défaut de PCTTHRESHOLD, 50, est le maximum je pense. C'est une limitation de la structure d'un index: il faut pouvoir stocker 2 entrées au moins.
    Les options de storage(comme le tablespace) peuvent être précisés dans la clause OVERFLOW.
    Cordialement,
    Franck.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 81
    Par défaut je ne trouve pas d'info sur la manière de créer des IOT
    Les autres tables d'un meme schéma qui sont déjà des IOT n'ont pas de table SYS_IOT_OVER_xxxx (ou je ne les vois pas meme en system ...)
    et voici leur code DDL
    Je comprends qu'on empeche la gestion de l'OVERFLOW
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    CREATE TABLE forms (
      cd_form       NUMBER        NOT NULL,
      nm_form       VARCHAR2(100) NULL,
      txt_form      VARCHAR2(255) NULL,
      filter_passes INTEGER       NULL,
      CONSTRAINT pk_forms PRIMARY KEY (
        cd_form
      )
    )
      ORGANIZATION INDEX
      PCTTHRESHOLD   0
      OVERFLOW
        TABLESPACE ""
        PCTFREE   -1
        PCTUSED   -1
        INITRANS  -1
        MAXTRANS  -1
        STORAGE (
          INITIAL       0 K
          NEXT          0 K
          MINEXTENTS   -1
          MAXEXTENTS   -1
          PCTINCREASE  -1
          FREELISTS    -1
          FREELIST GROUPS -1
          BUFFER_POOL
        )
        NOLOGGING
    /
    Merci pour votre regard d'expert

  6. #6
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Exact, ici pas besoin d'overflow parce que ici la taille d'une entrée de l'index, vu la définition des colonnes, ne dépassera jamais les 50% de la taille d'un block.
    Essayez par contre avec des varchar(4000):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-01429: Index-Organized Table: no data segment to store overflow row-pieces
    Cordialement,
    Franck.

Discussions similaires

  1. Réponses: 9
    Dernier message: 17/06/2009, 15h10
  2. [ie/Firefox : gestion de overflow] overflow-x ?
    Par oursblanc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 31/05/2006, 08h43
  3. Réponses: 4
    Dernier message: 04/07/2002, 12h31
  4. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11
  5. gestion d'un joystick ...
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 23/05/2002, 12h53

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