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 :

Optimisation DELETE


Sujet :

Oracle

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    En effet, au temps pour moi

    http://download-west.oracle.com/docs...ables.htm#8262

    Subsequent DML statements (UPDATE, DELETE, and conventional path insert) are unaffected by the NOLOGGING attribute of the table and generate redo.

  2. #22
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 34
    Points : 11
    Points
    11
    Par défaut
    cela veut donc dire que l'on ne peut pas désactiver les écritures dans le redo segment quand on effectue un delete ?
    N'y aurait-il pas une autre méthode que le NOLOGGING ?

  3. #23
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Canada

    Informations forums :
    Inscription : Février 2004
    Messages : 27
    Points : 35
    Points
    35
    Par défaut
    Allo niiccoo,

    Pour un delete occasionnel, partionné donne rien, c'est quand on a une logique d'épuration qu'il est intéressant de partionné. C'est une situation qui arrive dans l'informationnel, quand on charge une nouvelle strate dans un entrepôts de données on flush la plus veille.

    De plus j'ai pas trouvé de tutoriel ou guide sur le "partionning" dans un environnement informationnel, qui te permettrait d'en apprendre plus sauf quelques articles en anglais sur meta-link. Je me propose d'en faire un, s'il a de l'intérêts et que j'ai bien regardé qu'il n'avait rien qui n'existait déjà. D'ici ce temps tu peux aller voir la documentation des commande "create table" et "alter table" c'est les 2 commandes de base pour gérer les partitions.

    Research

  4. #24
    Membre averti

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Points : 398
    Points
    398
    Par défaut
    Citation Envoyé par niiccoo
    si je savais comment faire une partition et comment supprimer les enregistrements associés à cette partition, ça serait génial !!
    Merci d'avance :=)
    Nous avons dan l'infocentre toutes les dates d'insertion et de mise à jour pour chaque occurence avec une partition par année dc:
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
     
     
    SQL>DROP TABLE my_command;
     
    Table supprimée.
     
    Ecoulé : 00 :00 :00.00
    SQL>
    SQL>CREATE TABLE my_command
      2        (artno number(10), cmddate date)
      3    PARTITION BY RANGE (cmddate)
      4        (PARTITION an_1999 VALUES LESS THAN (TO_DATE('01/01/2000','DD/MM/YYYY'))
      5            TABLESPACE tbs1999,
      6         PARTITION an_2000 VALUES LESS THAN (TO_DATE('01/01/2001','DD/MM/YYYY'))
      7            TABLESPACE tbs2000);
     
    Table créée.
     
    Ecoulé : 00 :00 :00.00
    SQL>    
    SQL>insert into my_command values(1,TO_DATE('01/01/2000','DD/MM/YYYY'));
     
    1 ligne créée.
     
    Ecoulé : 00 :00 :00.00
    SQL>insert into my_command values(2,TO_DATE('01/01/1999','DD/MM/YYYY'));
     
    1 ligne créée.
     
    Ecoulé : 00 :00 :00.00
    SQL>select * from my_command ;
     
         ARTNO CMDDATE
    ---------- --------
             2 01/01/99
             1 01/01/00
     
    Ecoulé : 00 :00 :00.00
    SQL>select * from my_command partition (an_1999);
     
         ARTNO CMDDATE
    ---------- --------
             2 01/01/99
     
    Ecoulé : 00 :00 :00.00
    SQL>select * from my_command partition (an_2000);
     
         ARTNO CMDDATE
    ---------- --------
             1 01/01/00
     
    Ecoulé : 00 :00 :00.00
    SQL>ALTER TABLE my_command TRUNCATE PARTITION an_2000;
     
    Table tronquée.
     
    Ecoulé : 00 :00 :00.00
    SQL>select * from my_command ;
     
         ARTNO CMDDATE
    ---------- --------
             2 01/01/99
     
    Ecoulé : 00 :00 :00.00
    SQL>select * from my_command partition (an_1999);
     
         ARTNO CMDDATE
    ---------- --------
             2 01/01/99
     
    Ecoulé : 00 :00 :00.00
    SQL>select * from my_command partition (an_2000);
     
    aucune ligne sélectionnée
     
    Ecoulé : 00 :00 :00.00
    SQL>ALTER TABLE my_command TRUNCATE PARTITION an_1999;
     
    Table tronquée.
     
    Ecoulé : 00 :00 :00.00
    SQL>select * from my_command ;
     
    aucune ligne sélectionnée
     
    Ecoulé : 00 :00 :00.00
    SQL>select * from my_command partition (an_1999);
     
    aucune ligne sélectionnée
     
    Ecoulé : 00 :00 :00.00
    SQL>select * from my_command partition (an_2000);     
     
    aucune ligne sélectionnée
     
    Ecoulé : 00 :00 :00.00
    SQL>
    Bon courage

  5. #25
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    Bonjour à tous,

    Juste une petite remarque sur le partitionnement:
    N'oubliez pas qu'il nécéssite de prendre la version entreprise + l'option de partitionnement, et que cela ne fait pas forcément partis du budget de tout le monde!

  6. #26
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 59
    Points : 96
    Points
    96
    Par défaut
    Bonjour,

    Ce post est un peu vieux, mais je suis tombé dessus en faisant des recherches.

    Pour ma part, j'ai optimisé grandement les perfs de la suppression des enregistrement de ma table de log en retirant la primary key de la table (ceci impose un index cluster).

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Optimisation] Delete beaucoup plus lent que select
    Par GyZmoO dans le forum Requêtes
    Réponses: 17
    Dernier message: 18/07/2017, 19h08
  2. Optimisation delete in
    Par nicotine dans le forum SQL
    Réponses: 6
    Dernier message: 14/06/2011, 11h41
  3. optimisation delete requete
    Par ekremyilmaz dans le forum Langage SQL
    Réponses: 1
    Dernier message: 19/04/2010, 10h52
  4. Optimiser delete sur table
    Par fulub dans le forum Administration
    Réponses: 13
    Dernier message: 16/06/2009, 22h05
  5. Optimisation de DELETE
    Par RitonLaBevue dans le forum Requêtes
    Réponses: 5
    Dernier message: 02/11/2005, 15h31

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