Salut à tous,

Toujours dans le cadre de l'optimisation de mon programme, je voudrais savoir s'il l'on peut optimiser le chargement (SQL*LOADER) d'un fichier plat dans une table ?

Mon fichier peut faire de 200 000 à 3 000 000 de lignes à charger.

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
 
LOAD DATA
INFILE '/DEVL/INPUT/ME_CIBLE.txt'
INTO TABLE XXCIH.interface
APPEND
(
	LIGNE_ME 			POSITION(1:385)  CHAR
,	DATE_CREATED 			SYSDATE 
, 	CURRENCY_CODE			POSITION(33:35)  CHAR
, 	REF_PIECE			POSITION(25:29)	 CHAR
, 	DESC_LIGNE			"ltrim(rtrim(substr(:LIGNE_ME,89,32))) || ' ' || ltrim(rtrim(substr(:LIGNE_ME,121,32)))"
, 	ATTR1_ME_1			POSITION(1:150)	CHAR
, 	ATTR2_ME_2			POSITION(151:300)	CHAR
, 	ATTR3_ME_3			POSITION(301:385)	CHAR
, 	ATTR4_NUM_COMPTE		POSITION(1:16)		CHAR
, 	ATTR6_CODE_TRAN_OPE		"ltrim(rtrim(substr(:LIGNE_ME,153,4))) || '/' || ltrim(rtrim(substr(:LIGNE_ME,157,4)))"	 
, 	ATTR7_AG_MAT			"ltrim(rtrim(substr(:LIGNE_ME,181,3))) || '/' || ltrim(rtrim(substr(:LIGNE_ME,184,4)))"
, 	ATTR8_DENOT2			POSITION(198:213)		CHAR
, 	ATTR10_NUM_PIECE		POSITION(190:197)		CHAR
, 	REGLE				"decode(nvl(ltrim(rtrim(substr(:LIGNE_ME,215,1))),'0'),'1',ltrim(rtrim(substr(:LIGNE_ME,310,5))),NULL)"
, 	JOURNAL				"decode(nvl(ltrim(rtrim(substr(:LIGNE_ME,215,1))),'0'),'1',ltrim(rtrim(substr(:LIGNE_ME,290,10))),'CIH_AUTRE_0')"
, 	ORIGINE				"decode(nvl(ltrim(rtrim(substr(:LIGNE_ME,215,1))),'0'),'1',ltrim(rtrim(substr(:LIGNE_ME,300,10))),'CIH_AUTRE_0')"
			)
Merci à vous.