Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Speedup insert into firebird

Hi,

I have a simple script which the goal is to insert a some fields into a firebird table. See a example :

REL_PRODUCTS_CATEGORIES:

LOAD (PRODUCTS_ID+1000) as PRODUCTS_ID,

     CATEGORY_CODE,

     SUBCATEGORY_CODE,

     null() as ID

FROM

[$(chemin)\REL_PRODUCTS_CATEGORIES_FIN\$(mac)]

(qvd);

sql delete from REL_PRODUCTS_CATEGORIES;

LET Nrecord = NoOfRows('REL_PRODUCTS_CATEGORIES');

for i = 0 to Nrecord-1

LET PRODUCTS_ID=if ( not isnull(Peek('PRODUCTS_ID',i,'REL_PRODUCTS_CATEGORIES')),chr(39)&replace(Peek('PRODUCTS_ID',i,'REL_PRODUCTS_CATEGORIES'),chr(39),chr(39)&chr(39))&chr(39),'NULL');

LET CATEGORY_CODE=if ( not isnull(Peek('CATEGORY_CODE',i,'REL_PRODUCTS_CATEGORIES')),chr(39)&replace(Peek('CATEGORY_CODE',i,'REL_PRODUCTS_CATEGORIES'),chr(39),chr(39)&chr(39))&chr(39),'NULL');

LET SUBCATEGORY_CODE=if ( not isnull(Peek('SUBCATEGORY_CODE',i,'REL_PRODUCTS_CATEGORIES')),chr(39)&replace(Peek('SUBCATEGORY_CODE',i,'REL_PRODUCTS_CATEGORIES'),chr(39),chr(39)&chr(39))&chr(39),'NULL');

LET ID=if ( not isnull(Peek('ID',i,'REL_PRODUCTS_CATEGORIES')),chr(39)&replace(Peek('ID',i,'REL_PRODUCTS_CATEGORIES'),chr(39),chr(39)&chr(39))&chr(39),'NULL');

sql insert into REL_PRODUCTS_CATEGORIES

(

PRODUCTS_ID,

CATEGORY_CODE,

SUBCATEGORY_CODE

//ID

)

values(

$(PRODUCTS_ID),

$(CATEGORY_CODE),

$(SUBCATEGORY_CODE)

//$(ID)

);

NEXT i

DROP Table REL_PRODUCTS_CATEGORIES;

The problem is that it too long. About 3min for 10000 rows. Is it a method for speed up the application ?

Thanks.

0 Replies