Bonjour,
j'ai créé un script qui insère dans une table environ 1,5 Million d'enregistrements. Pour accélérer le traitement, je ne veux pas faire de commit à chaque enregistrement, sinon j'en ai pour 4 jours d'importation et le traitement doit être fait tous les jours . Mon problème est que du coup si je fais ca je fais exploser le journal des transactions, ce qui parait logique. Je cherche donc un moyen de faire comme j'arrive à faire sous java c'est à dire flusher le buffer de transaction toutes les 100 requetes par exemple, tout en conservant une transaction globale que je peux rollbacker en cas de problème.
Moi y'en a pas être sur d'être bien clair... Du coup un petit algo pour me faire comprendre :
Any idea ?
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 prepare_requete(INSERT) demarre_transaction pour ligne dans lignes_fichier param_requete execute_requete si ko alors rollback fin processus sinon incremente_compteur si (compteur % 1000) = 0 alors flush_buffer fin si fin si fin pour commit_transaction
Partager