Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
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