Subject Insert records speed
Author b0bik2000
Hello

I'm using Turbo Delphi Explorer + dgGo + ODBC(2.0.0.148 IBPhoenix) +
Firebird 2.1.1.17910 SS (Windows).

I have one table with structure:

CREATE TABLE BAZPOZ(
IBAZP DM_INTEGER DEFAULT 0 NOT NULL,
IBAZN DM_INTEGER DEFAULT 0,
X DM_REAL DEFAULT 0,
Y DM_REAL DEFAULT 0,
Z DM_REAL DEFAULT 0,
NR DM_STR20 DEFAULT '',
KOD DM_STR20 DEFAULT '',
TYP DM_INTEGER DEFAULT 0,
PAR1 DM_REAL DEFAULT 0,
PAR2 DM_REAL DEFAULT 0,
PAR3 DM_REAL DEFAULT 0,
PAR4 DM_REAL DEFAULT 0,
ATR0 DM_STR8 DEFAULT '',
ATR1 DM_STR8 DEFAULT '',
ATR2 DM_STR8 DEFAULT '',
ATR3 DM_STR8 DEFAULT '',
ATR4 DM_STR8 DEFAULT '',
ATR5 DM_STR8 DEFAULT '',
IUDOD DM_INTEGER DEFAULT 0,
DTDOD DM_TIMESTAMP DEFAULT CURRENT_TIMESTAMP ,
IUMOD DM_INTEGER DEFAULT 0,
DTMOD DM_TIMESTAMP DEFAULT CURRENT_TIMESTAMP ,
CONSTRAINT BAZPOZ_PK PRIMARY KEY (IBAZP)
);
ALTER TABLE BAZPOZ ADD CONSTRAINT BAZPOZ_BAZNAG
FOREIGN KEY (IBAZN) REFERENCES BAZNAG (IBAZN) ON UPDATE CASCADE;
ALTER TABLE BAZPOZ ADD CONSTRAINT BAZPOZ_USERST_D_FK
FOREIGN KEY (IUDOD) REFERENCES USERST (IUSER) ON UPDATE CASCADE ON
DELETE SET DEFAULT;
ALTER TABLE BAZPOZ ADD CONSTRAINT BAZPOZ_USERST_M_FK
FOREIGN KEY (IUMOD) REFERENCES USERST (IUSER) ON UPDATE CASCADE ON
DELETE SET DEFAULT;

No additional indexes, except those four which are required (one for
primary key, and three from foreign keys).

Using CachedUpdates (ADO) I'm inserting into this table a few
thousands records (ADODataset.UpdateBatch). Average speed is about
~2ms per record.

I realize that this is not firebird-tools group, nonetheless I'd like
to ask if 2ms/record is max of what I can get ?

My machine:
Windows XP Home, Intel Core 2 CPU T5500 1.66GHz, 1.5 GB RAM

Best regards
b0bik