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

Administration Oracle Discussion :

partitionnement d'une grosse table


Sujet :

Administration Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 10
    Points : 10
    Points
    10
    Par défaut partitionnement d'une grosse table
    Bonjour,

    Je voudrais savoir s'il est possible de partitionner une table par list ou par range en utilisant une fonction sur la clé du partionnement.

    ex :
    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
    30
    31
    32
    CREATE TABLE professional_history (
    prof_history_id  NUMBER(10),
    person_id        NUMBER(10) NOT NULL,
    organization_id  NUMBER(10) NOT NULL,
    record_date      DATE NOT NULL,
    ph_comments      VARCHAR2(2000))
    PARTITION BY RANGE (to_char(record_date, 'mm')) 
    (
    PARTITION mm1 
    VALUES LESS THAN ('01')
    TABLESPACE mm1,
    PARTITION mm2 
    VALUES LESS THAN ('02') 
    TABLESPACE mm2,
    ...
    
    ou
    
    CREATE TABLE professional_history (
    prof_history_id  NUMBER(10),
    person_id        NUMBER(10) NOT NULL,
    organization_id  NUMBER(10) NOT NULL,
    record_date      DATE NOT NULL,
    ph_comments      VARCHAR2(2000))
    PARTITION BY LIST (to_char(record_date, 'mm'))
    (
    PARTITION mm1 VALUES ('01')
    TABLESPACE mm1,
    PARTITION mm2 VALUES ('02')
    TABLESPACE mm2,
    ...
    Je n'ai pas l'impression qu'on ait le droit d'utiliser la fonction to_char dans la définition de la partition

    Est-il possible d'éviter la création d'une colonne dans la table ne comprenant que le mois afin de baser les partitions dessus ?

    Merci de votre aide.

  2. #2
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    On n'a pas la possibilité de faire des partitions en utilisant des opérateurs d'inégalité ? Du genre >=01/01/2006 AND <01/07/2006 ?
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

Discussions similaires

  1. "Partitionner" une grosse table
    Par emmak dans le forum Débuter
    Réponses: 5
    Dernier message: 11/10/2010, 19h39
  2. Quellue interface pour travailler sur une grosse table ?
    Par grinder59 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 22/12/2006, 16h25
  3. statistique d'une grosse table
    Par dibejmaher dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 01/09/2006, 16h20
  4. Update trés lent sur une grosse table
    Par neo.51 dans le forum Oracle
    Réponses: 21
    Dernier message: 14/12/2005, 11h06
  5. [Oracle] Mieux vaut une grosse table ou plein de petite ?
    Par ShinJava dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 30/11/2005, 16h32

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