
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Tags:
- firebird insert
