Subject | Re: [firebird-support] MS SQL Vs. Firebird Again |
---|---|
Author | Helen Borrie |
Post date | 2004-02-01T01:44:11Z |
At 07:01 PM 30/09/2004 -0700, you wrote:
available in the fbudf library which is deployed with Firebird.
denominator" to genericise the return value to support OS's that can't
return subseconds. You can store subseconds down to ten-thousandths of a
second and, if you do, the server has no problem processing them and the
client has no problem returning them to the application. It seems to me
you are deriving a lot of your "wisdom" from using bad client tools...
generic (vendor-independent) data access cause such problems. The
Firebird/IB world is richly provided with vendor-specific connectivity
layers between Delphi/Kylix/BCPP that -- to varying degrees -- avoid the
overhead imposed by the generic VCL data access components. Anyone
considering using the Borland client development environments owes it to
him/herself to evaluate the best of breed from this comprehensive collection.
discard a lot of the itchy old tricks that s/he used to have to resort to
in MSSQL. RDBMS's are not meant to be dependent on storage row order so
systems that don't support important relational language features like
existential predicates have to store row-counts and compromise multi-userness.
It's a source of comedy to look at so-called "benchmark tests" involving
MSSQL and other DBMS's that poorly implement standards, again Firebird and
others that implement standards better. There is always a "SELECT
COUNT(*)" test in there that the lemmings take to be an indication of
comparative performance. It says nothing about performance, of course, but
it is a self-documenting commentary on the competence of the test designers.
/heLen
>I am starting to be of the opinion that the best option is to just use theSounds a fairly uninformed statement...
>GDS32.dll directly. The components are cute, and work well for
>prototyping, but they appear to be lacking adequate stability for serious
>enterprise scale uses, IMHO.
>Also bear in mind that the timestamp conversion function in gds32.dllThat is not necessary. An external function GetExactTimestamp() is
>drops the milliseconds, so you may want to write your own replacement for
>that.
available in the fbudf library which is deployed with Firebird.
>It's not a big deal, but it'll save you a lot of hunting when you know inActually, they are truncated on the server - a kind of "lowest common
>advance that the fractional seconds are truncated at the GDS32 layer from
>all times that are stored.
denominator" to genericise the return value to support OS's that can't
return subseconds. You can store subseconds down to ten-thousandths of a
second and, if you do, the server has no problem processing them and the
client has no problem returning them to the application. It seems to me
you are deriving a lot of your "wisdom" from using bad client tools...
> worst case). Firebird appears to keep its indexesIt's not always the case. It depends on the index.
> well balanced because there was no observable
> performance difference between that experienced
> following an insert of 4,000,000 rows and that
> experienced after dropping and rebuilding the indexes.
> Caution: Beware of the DBXpress and IBXpressAgreed, both of these layers have been very poorly architected.
> components used by some Delphi and BCB apps. My
> testing has exposed memory leaks and other serious
> issues with the middle layers,
>and the Delphi VCLThat's misleading. The VCL architecture + the Borland implementations for
> architecture imposes minimum 3% maximum 30% overheads
> on top of the database performance.
generic (vendor-independent) data access cause such problems. The
Firebird/IB world is richly provided with vendor-specific connectivity
layers between Delphi/Kylix/BCPP that -- to varying degrees -- avoid the
overhead imposed by the generic VCL data access components. Anyone
considering using the Borland client development environments owes it to
him/herself to evaluate the best of breed from this comprehensive collection.
> The MAX, MIN, and Count operators are not as wellThat is true; and it behoves the developer to learn the language and
> optimized as they could be either. MAX and MIN can at
> least be optimized somewhat be ascending and
> descending indeces where they are required. Count on
> an entire table will always do a table space scan.
discard a lot of the itchy old tricks that s/he used to have to resort to
in MSSQL. RDBMS's are not meant to be dependent on storage row order so
systems that don't support important relational language features like
existential predicates have to store row-counts and compromise multi-userness.
It's a source of comedy to look at so-called "benchmark tests" involving
MSSQL and other DBMS's that poorly implement standards, again Firebird and
others that implement standards better. There is always a "SELECT
COUNT(*)" test in there that the lemmings take to be an indication of
comparative performance. It says nothing about performance, of course, but
it is a self-documenting commentary on the competence of the test designers.
> Helen is the real authorityActually, not, I'm a messenger. The real authority is Ann Harrison.
/heLen