| Author |
Ultralite - INSERTing into table
|
|
| handheldmaster 2005-09-29, 9:23 am |
| Was wondering if following is true. Am using Appforge-MobileVB 3.5 (0633) /
Ultralite 9.0.2 (3137) :::: Windows Mobile 2003 platform
As number of records in the ultralite table go on increasing the amount of
time it takes to commit *new* records increases. In other words these are
directly proportional.
Also will it help doing a myTable.MoveLast before every insert ? or that
will not make any difference.
| |
| Michael Thode 2005-09-29, 11:23 am |
| There may be slow down as the number of rows increase, but it won't be
directly proportional. It depends on many factors. As our internal data
structures get bigger it takes longer to traverse them. You should see the
performance stabilize after awhile.
Doing a MoveLast won't increase performance. Our indexing code is optimized
to automatically check if a new row is at the end as its first operation.
Mike
"handheldmaster" <anup.mistry@gmail.com> wrote in message
news:433be72b$1@foru
ms-2-dub...
> Was wondering if following is true. Am using Appforge-MobileVB 3.5 (0633)
/
> Ultralite 9.0.2 (3137) :::: Windows Mobile 2003 platform
>
> As number of records in the ultralite table go on increasing the amount of
> time it takes to commit *new* records increases. In other words these are
> directly proportional.
>
> Also will it help doing a myTable.MoveLast before every insert ? or that
> will not make any difference.
>
>
>
| |
| handheldmaster 2005-09-29, 8:23 pm |
| > There may be slow down as the number of rows increase, but it won't be
> directly proportional. It depends on many factors. As our internal data
> structures get bigger it takes longer to traverse them. You should see
> the
> performance stabilize after awhile.
>
Am seeing slow downs from seconds to minutes when going from record counts
of hundred's to thousands. Currently thinking if it just makes more sense to
use tables for synching .. one going down and other going only up .. so at
the end of sync the "up" table is always empty. Extra coding will have to be
done to maintain the logic but hoping that no speed problems therein.
Have a composite primary of 6 columns from datatypes like varchar and
int... does that matter ?
> Doing a MoveLast won't increase performance. Our indexing code is
> optimized
> to automatically check if a new row is at the end as its first operation.
Ok.. thought so but no harm in asking :o)
>
> Mike
>
Thanks for your response.
| |
| Michael Thode 2005-09-29, 8:23 pm |
| Which operations are taking place when you say that it takes minutes?
Are you saying that inserting/committing thousands of rows takes minutes, or
are you saying inserting a few rows when there are already thousands of rows
in the database takes minutes?
Mike
"handheldmaster" <anup.mistry@gmail.com> wrote in message
news:433c3a77$1@foru
ms-2-dub...
data[color=darkred]
> Am seeing slow downs from seconds to minutes when going from record counts
> of hundred's to thousands. Currently thinking if it just makes more sense
to
> use tables for synching .. one going down and other going only up .. so at
> the end of sync the "up" table is always empty. Extra coding will have to
be
> done to maintain the logic but hoping that no speed problems therein.
>
> Have a composite primary of 6 columns from datatypes like varchar and
> int... does that matter ?
>
operation.[color=darkred]
> Ok.. thought so but no harm in asking :o)
>
> Thanks for your response.
>
>
| |
| Tom Slee 2005-10-27, 7:41 am |
| handheldmaster wrote:
> Have a composite primary of 6 columns from datatypes like varchar and
> int... does that matter ?
>
Absolutely. In the current version of UltraLite the major insert
performance hurdle when you have a lot of rows is index maintenance. My
own experience is that there is zero performance degradation when you
have only a single-column primary key, and a heavy degradation when you
have lots of indexes.
Tom Slee
iAnywhere Solution
| |
| handheldmaster 2005-10-27, 7:41 am |
|
So do you think its the *user created indexes* that is slowing it down or
the fact that its a composite primary key.
Am asking if we have 6 columns in primary key but not indexes (other than
the one that is default primary) have you still seen slow down.
Thanks for your reply.
"Tom Slee" <Tom.Slee@ianywhere.com> wrote in message
news:43412c28@forums
-2-dub...
> handheldmaster wrote:
>
>
> Absolutely. In the current version of UltraLite the major insert
> performance hurdle when you have a lot of rows is index maintenance. My
> own experience is that there is zero performance degradation when you have
> only a single-column primary key, and a heavy degradation when you have
> lots of indexes.
>
> Tom Slee
> iAnywhere Solution
| |
| David Fishburn 2005-10-27, 7:41 am |
| "handheldmaster" <anup.mistry@gmail.com> wrote in
news:43428fed$1@foru
ms-1-dub of sybase.public.sqlanywhere.ultralite:
h> So do you think its the *user created indexes* that is slowing it down
h> or the fact that its a composite primary key.
h>
h> Am asking if we have 6 columns in primary key but not indexes (other
h> than the one that is default primary) have you still seen slow down.
Sounds like a simple test.
Remove the indicies, pump some data in.
Recreate different indicies, repeat.
--
David Fishburn
Certified ASA Developer Version 8
iAnywhere Solutions - Sybase
Professional Services
Please only post to the newsgroup
Please ALWAYS include version and MORE importantly BUILD number with
EACH post (dbeng9 -v).
EBFs and Maintenance Releases
http://downloads.sybase.com/swx/sdmain.stm
Developer Community / Whitepapers
http://www.ianywhere.com/developer
CaseXpress - to report bugs
http://casexpress.sybase.com
CodeXchange - Free samples
[url]http://ianywhere.codexchange.sybase.com/servlets/ ProjectDocumentList[
/url]
|
|
|
|