Bonjour à tous,
Je cherche à optimiser mon traitement hebdomadaire qui traite de très gros volumes de datas. En gros, il se déroule de la manière suivante :
1. Récupération des données depuis une réplication d'un environnement de production ;
2. Création de nos tables de work (nos tables sur lesquelles s'appuient mon traitement) ;
3. Traitement ;
Mon but serait d'optimiser au maximum les tables lors de l'étape 2, afin de gagner du temps dans l'étape 3.
Les tables créées lors de cette étape seront lues lors de l'étape 3, mais aucune n'est amenée à être modifiée (aucun DELETE / INSERT / UPDATE).
Je pensais faire la chose suivante lorsque je crée mes tables :
- mettre PCT free à 0 : permet de gagner en espace disque et de gagner un peu en perf ;
- mettre en nocompress : pour ne pas perdre en perf lors de la décompression, et pas besoin spécialement de gagner en espace disque ;
- mettre en nologging : pas besoin de conserver de traces spéciales ;
- (mettre les tables en read-only à la fin des insertions ?) : peut éventuellement permettre de gagner en perf ;
Lors des insertions, actuellement nous avons paralléliser les INSERT avec un HINT, mais j'ai lu qu'il pourrait être préférable de laisser sans parallélisme afin d'avoir des fichiers propres.
N'étant pas spécialiste oracle, j'aurais aimé avoir des avis sur les différents points ci-dessus, et savoir si ces affirmations sont plutôt justes ou non, et également qu'est ce que je peux mettre d'autre en place pour améliorer mes performances et optimiser mes tables.
Les plus volumineuses sont également partitionnées + sous partitionnées, on crée également les index et ont fait les stats à 20% à la fin de chaque création de table.
Si je prend la configuration d'une table actuellement sur notre environnement, ca ressemble à ceci :
Voila, merci d'avance pour toutes vos remarques !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "XXX"
Bonne journée
Partager