Subject | RE: [IBO] Paradox Comparison |
---|---|
Author | Lindsay Gauton |
Post date | 2003-11-16T08:24:57Z |
I regularly handle 1,000,000+ updates and new inserts daily - tracking
holiday prices and the only effective method is using stored procedures
Hope that helps
Lindsay
-----Original Message-----
From: nevillerichards [mailto:neville@...]
Sent: 15 November 2003 18:41
To: IBObjects@yahoogroups.com
Subject: Re: [IBO] Paradox Comparison
I had originally used the "5 minute" conversion recommended on the
IBObjects
site using GReplace.
BDE TTable being converted to TIBOTable, etc.
The table I am importing contains about 300,00 records in two columns:
and 8
character (UK) postcode, and an index of deprivation (floating).
This is the table spec:
/* Table: UPLIFTI, Owner: SYSDBA */
CREATE TABLE "UPLIFTI"
(
"POSTCODE" VARCHAR(8) CHARACTER SET WIN1252 NOT NULL,
"UPLIFT" FLOAT,
PRIMARY KEY ("POSTCODE")
);
The original code converted from the Paradox app which imported into the
Paradox table in 3 minutes is like:
UplifTIBOTable.SetKey;
UplifTIBOTable.FieldbyName('PostCode').asstring :=
postcode;
if not UplifTIBOTable.GotoKey then
begin
UplifTIBOTable.append;
UplifTIBOTable.FieldbyName('PostCode').asstring :=
postcode;
end else UplifTIBOTable.edit;
UplifTIBOTable.FieldbyName('Uplift').asfloat :=
deprivation;
UplifTIBOTable.post;
next;
// if the record didn't exist, then create it, otherwise, edit what is
there.
The exact same code in the IBO version took approximately 3 hours (I got
fed
up of timing exactly).
Clearly, this idiom of programming the data transfer which works fine
with
Paradox through TTable is not viable with IBO through TIBOTable.
There must be a better method, and you have suggested TIB_DSQL, which I
need
to look at.
Any pointers to how to proceed??
Thanks, Neville
___
IB Objects - direct, complete, custom connectivity to Firebird or
InterBase
without the need for BDE, ODBC or any other layer.
________________________________________________________________________
___
http://www.ibobjects.com - your IBO community resource for Tech Info
papers,
keyword-searchable FAQ, community code contributions and more !
Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/
---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.529 / Virus Database: 324 - Release Date: 16/10/2003
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.529 / Virus Database: 324 - Release Date: 16/10/2003
holiday prices and the only effective method is using stored procedures
Hope that helps
Lindsay
-----Original Message-----
From: nevillerichards [mailto:neville@...]
Sent: 15 November 2003 18:41
To: IBObjects@yahoogroups.com
Subject: Re: [IBO] Paradox Comparison
I had originally used the "5 minute" conversion recommended on the
IBObjects
site using GReplace.
BDE TTable being converted to TIBOTable, etc.
The table I am importing contains about 300,00 records in two columns:
and 8
character (UK) postcode, and an index of deprivation (floating).
This is the table spec:
/* Table: UPLIFTI, Owner: SYSDBA */
CREATE TABLE "UPLIFTI"
(
"POSTCODE" VARCHAR(8) CHARACTER SET WIN1252 NOT NULL,
"UPLIFT" FLOAT,
PRIMARY KEY ("POSTCODE")
);
The original code converted from the Paradox app which imported into the
Paradox table in 3 minutes is like:
UplifTIBOTable.SetKey;
UplifTIBOTable.FieldbyName('PostCode').asstring :=
postcode;
if not UplifTIBOTable.GotoKey then
begin
UplifTIBOTable.append;
UplifTIBOTable.FieldbyName('PostCode').asstring :=
postcode;
end else UplifTIBOTable.edit;
UplifTIBOTable.FieldbyName('Uplift').asfloat :=
deprivation;
UplifTIBOTable.post;
next;
// if the record didn't exist, then create it, otherwise, edit what is
there.
The exact same code in the IBO version took approximately 3 hours (I got
fed
up of timing exactly).
Clearly, this idiom of programming the data transfer which works fine
with
Paradox through TTable is not viable with IBO through TIBOTable.
There must be a better method, and you have suggested TIB_DSQL, which I
need
to look at.
Any pointers to how to proceed??
Thanks, Neville
> On Fri, 14 Nov 2003 19:57:40 +0000 (UTC), nevillerichards wrote:TDataset
>
> > I am converting a large project from Paradox to IBO (using the
> > equivalents).be!
> > The software imports and processes large quantities of ASCII data.
> > So far, the IBO version seems to run at about 1/5 the speed of the
> > original Paradox. I am sure that this isn't how it was supposed to
> > Does anyone know of any obvious pitfalls that people usually dropinto?
>about
> In some situations, nothing (well, hardly anything) can beat a desktop
> database like Paradox for speed. As Lucas said, C/S databases is
> more than speed - robustness is just one point.________________________________________________________________________
>
> When importing, do use the TIB_DSQL (which you prepare just once).
> After the import, there are new pitfalls to avoid ... - just ask here.
>
>
> Regards,
> Aage J.
>
>
___
IB Objects - direct, complete, custom connectivity to Firebird or
InterBase
without the need for BDE, ODBC or any other layer.
________________________________________________________________________
___
http://www.ibobjects.com - your IBO community resource for Tech Info
papers,
keyword-searchable FAQ, community code contributions and more !
Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/
---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.529 / Virus Database: 324 - Release Date: 16/10/2003
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.529 / Virus Database: 324 - Release Date: 16/10/2003