| Glenn Paulley 2006-03-21, 11:24 am |
| The bulk of the time - at least 90% - spent doing inserts to a DBMS is
client-side, including network latency. So anything you can do to reduce
the number of interactions to the client will be worthwhile. Wide inserts
is an obvious technique; though the fastest way to get data into the
server is via LOAD TABLE. Keep in mind that you can use LOAD TABLE on
temporary tables, and once on the server the data can be moved
(inexpensively, as compared to client inserts) to permanent tables.
The choice of keys (type) probably doesn't matter that much for inserting
from a single client, or when inserting into multiple tables. An
autoincrement key will help when inserting from multiple clients into a
single table, and also reduce complexity as you won't have to worry about
key conflicts between clients.
Finally, insert triggers and/or complex CHECK constraints and/or computed
columns will kill insert performance.
Glenn
"handheldmaster" <abc@456.com> wrote in news:441f4266$1@foru
ms-1-dub:
> Probably this topic has been already discussed many a times.
>
> But was wondering if anybody can point out what are the best ways to
> do large inserts into the ASA database on windows. using ASA
> 9.0.2/NTSP5. One thing is to do batch inserts, have single column
> numeric keys? anything else ? avoid any referential cascades to that
> table.
>
> TIA
>
>
>
--
Glenn Paulley
Research and Development Manager, Query Processing
iAnywhere Solutions Engineering
EBF's and Patches: http://downloads.sybase.com
choose SQL Anywhere Studio >> change 'time frame' to all
To Submit Bug Reports: http://casexpress.sybase.com/cx/cx.stm
SQL Anywhere Studio Supported Platforms and Support Status
http://my.sybase.com/detail?id=1002288
|