Hi All,

I have a to copy entry from on database to another which have the
similar structure.

So I am using the method of ATTACH the DB and INSERT statement to insert
the 200 entries at a time.
I have observed that as the entries in the copied database increases
event though I am inserting 200 entry only, time for insertion keeps on
increasing.


Following is the procedure done at the begining UnifiedViewDatabase.db
is empty:

deepak at pc119:~/Music$ sqlite3 UnifiedViewDatabase.db
SQLite version 3.7.9 2011-11-01 00:52:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .timer ON
sqlite> attach database
'/media/76fd19c4-3f68-4b5c-97ed-6be40d2ee962/race/database/USB_3f0_2340_000000000.db'
as USB_3f0_2340_000000000
   ...> ;
CPU Time: user 0.000000 sys 0.000000
Error: unable to open database:
/media/76fd19c4-3f68-4b5c-97ed-6be40d2ee962/race/database/USB_3f0_2340_000000000.db
sqlite> attach database '/home/deepak/Music/USB_3f0_2340_000000000.db'
as USB_3f0_2340_000000000
   ...> ;
CPU Time: user 0.004001 sys 0.000000
sqlite> delete from audio;
CPU Time: user 0.012000 sys 0.024001
sqlite>
sqlite>
sqlite> INSERT INTO AUDIO (DEVHANDLE, CLID, PPID, NAME, STRFRMT, SIZE,
FILESIZE, Content_Type, Object_Format, TITLE, METASTRFRMT, TITLESZ,
Artistid, Albumid, Genreid, Composerid, Yearid, ALBMARTSZ, ALBMARTOFST,
ALBMARTFRMT, ALBARTENCFRMT, MU) SELECT 1963983976, ID, PPID, NAME,
STRFRMT, SIZE, FILESIZE, Content_Type, Object_Format, TITLE,
METASTRFRMT, TITLESZ, Artistid, Albumid, Genreid, Composerid, Yearid,
ALBMARTSZ, ALBMARTOFST, ALBMARTFRMT, ALBARTENCFRMT, MU FROM
USB_3f0_2340_000000000.AUDIO WHERE USB_3f0_2340_000000000.AUDIO.ID > 0
AND USB_3f0_2340_000000000.AUDIO.ID <= 200;
*CPU Time: user 0.104007 sys 0.000000*
sqlite> INSERT INTO AUDIO (DEVHANDLE, CLID, PPID, NAME, STRFRMT, SIZE,
FILESIZE, Content_Type, Object_Format, TITLE, METASTRFRMT, TITLESZ,
Artistid, Albumid, Genreid, Composerid, Yearid, ALBMARTSZ, ALBMARTOFST,
ALBMARTFRMT, ALBARTENCFRMT, MU) SELECT 1963983976, ID, PPID, NAME,
STRFRMT, SIZE, FILESIZE, Content_Type, Object_Format, TITLE,
METASTRFRMT, TITLESZ, Artistid, Albumid, Genreid, Composerid, Yearid,
ALBMARTSZ, ALBMARTOFST, ALBMARTFRMT, ALBARTENCFRMT, MU FROM
USB_3f0_2340_000000000.AUDIO WHERE USB_3f0_2340_000000000.AUDIO.ID > 0
AND USB_3f0_2340_000000000.AUDIO.ID <= 200;
*CPU Time: user 0.288018 sys 0.000000*
sqlite> INSERT INTO AUDIO (DEVHANDLE, CLID, PPID, NAME, STRFRMT, SIZE,
FILESIZE, Content_Type, Object_Format, TITLE, METASTRFRMT, TITLESZ,
Artistid, Albumid, Genreid, Composerid, Yearid, ALBMARTSZ, ALBMARTOFST,
ALBMARTFRMT, ALBARTENCFRMT, MU) SELECT 1963983976, ID, PPID, NAME,
STRFRMT, SIZE, FILESIZE, Content_Type, Object_Format, TITLE,
METASTRFRMT, TITLESZ, Artistid, Albumid, Genreid, Composerid, Yearid,
ALBMARTSZ, ALBMARTOFST, ALBMARTFRMT, ALBARTENCFRMT, MU FROM
USB_3f0_2340_000000000.AUDIO WHERE USB_3f0_2340_000000000.AUDIO.ID > 0
AND USB_3f0_2340_000000000.AUDIO.ID <= 200;
*CPU Time: user 0.468029 sys 0.004000*

after 10 times doing like the same:

sqlite> INSERT INTO AUDIO (DEVHANDLE, CLID, PPID, NAME, STRFRMT, SIZE,
FILESIZE, Content_Type, Object_Format, TITLE, METASTRFRMT, TITLESZ,
Artistid, Albumid, Genreid, Composerid, Yearid, ALBMARTSZ, ALBMARTOFST,
ALBMARTFRMT, ALBARTENCFRMT, MU) SELECT 1963983976, ID, PPID, NAME,
STRFRMT, SIZE, FILESIZE, Content_Type, Object_Format, TITLE,
METASTRFRMT, TITLESZ, Artistid, Albumid, Genreid, Composerid, Yearid,
ALBMARTSZ, ALBMARTOFST, ALBMARTFRMT, ALBARTENCFRMT, MU FROM
USB_3f0_2340_000000000.AUDIO WHERE USB_3f0_2340_000000000.AUDIO.ID > 0
AND USB_3f0_2340_000000000.AUDIO.ID <= 200;
*CPU Time: user 2.360148 sys 0.004000*

As we can see this time go on increasing.
For my Understanding inserting same number of entry should take alway
same time.
Please Help me to understand this behavior?
Am I doing something wrong? Is there any way of handling this?
Thanks a lot.

-- 
Thanks and Regards
Deepak

Reply via email to