Bonjour,
j'ai une table partitionnée par date (range) qui est chargée chaque jour avec 8 millions de lignes (on garde que dix partitions ), elle possède une PK fonctionnelle composée de 7 colonnes mais l'équipe java veut avoir une "clé" technique (pas une séquence Oracle) car c'est plus facile pour eux.
j'ai utilisé la fonction DBMS_SQLHASH.GETHASH pour générer une clé de hachage pour chaque ligne mais ca plombe les perf du traitement de chargement (1h 30 min de plus a chaque chargement).
j'ai ajouter cet update à la fin du chargement (j'ai essayé bulk/forall mais c pas mieux) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 UPDATE /*+ PARALLEL (mouvement,8) */ mouvement SET cle_hash = DBMS_SQLHASH.GETHASH('Select '''||col1||','||col2||','||col3||','||col4||','||col5|','|||col6||','||col7||''' From dual',2) where rdt = clé de partition;
Avez-vous une autre solution a me proposer ou des suggestion sur améliorer ma solution ?
Merci pour votre aide
Partager