Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 15 total
Thread Simple SQL much faster in DBISAM.
Thu, Feb 28 2008 11:33 AMPermanent Link

Felix
I am testing EDB and was a bit suprised by the speed of this simple query:

select * from addresses where name like 'Be%';

Time in DBISAM 3.30 = 0.125 sec
Time in EDB 1.08 = 0.79 sec.

Same result with this query:

select * from addresses where name = 'Muller';

Table was migrated from DBISAM, Index on Name. About 5400 records in the table. Am I
missing anything?

Regards Felix
Thu, Feb 28 2008 4:50 PMPermanent Link

Dave Harrison
Felix wrote:
> I am testing EDB and was a bit suprised by the speed of this simple query:
>
> select * from addresses where name like 'Be%';
>
> Time in DBISAM 3.30 = 0.125 sec
> Time in EDB 1.08 = 0.79 sec.
>
> Same result with this query:
>
> select * from addresses where name = 'Muller';
>
> Table was migrated from DBISAM, Index on Name. About 5400 records in the table. Am I
> missing anything?
>
> Regards Felix
>

Felix,
    I've found that DBISAM makes better use of the OS cache so if you
run the DBISAM query twice, the second query will run much faster than
the first. Not so with EDB. So you could be experiencing the Windows
caching effect.

Dave
Fri, Feb 29 2008 1:37 AMPermanent Link

Felix
<<  I've found that DBISAM makes better use of the OS cache so if you
run the DBISAM query twice, the second query will run much faster than
the first. Not so with EDB. So you could be experiencing the Windows
caching effect. >>

That's true, then the difference is even bigger. But also the first execution is much slower.

Felix
Fri, Feb 29 2008 8:43 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Dave,

<< I've found that DBISAM makes better use of the OS cache so if you run the
DBISAM query twice, the second query will run much faster than the first.
Not so with EDB. So you could be experiencing the Windows caching effect. >>

There is absolutely no difference at all between the way DBISAM and EDB deal
with the OS file system cache.  The difference in times is most likely
entirely down to the index key comparisons on the VARCHAR/CHAR columns, just
like you experienced with your tests.

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Feb 29 2008 8:44 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Felix,

<< Same result with this query:

select * from addresses where name = 'Muller';

Table was migrated from DBISAM, Index on Name. About 5400 records in the
table. Am I missing anything? >>

There is a slightly larger overhead in EDB for VARCHAR/CHAR column
comparisons.  How large is the Name column in characters ?   The larger the
column, the greater the overhead.

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Feb 29 2008 8:46 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Felix,

<< I am testing EDB and was a bit suprised by the speed of this simple
query: >>

BTW, are you setting RequestSensitive to True for the TEDBQuery component
when you run that query, or is it set to False ?

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Feb 29 2008 8:46 AMPermanent Link

Felix
<<
There is a slightly larger overhead in EDB for VARCHAR/CHAR column
comparisons.  How large is the Name column in characters ?   The larger the
column, the greater the overhead.
>>

The Name column has a length of 40.

Regards Felix

Fri, Feb 29 2008 9:40 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Felix,

<< The Name column has a length of 40. >>

Is there a lot of blank space ?  If so, then that is most likely the main
culprit.  EDB has to adhere to the SQL standard of only comparing non-blank
space, so there is some additional overhead there also for CHAR columns.

Could you possibly send me the table via email so that I can test the
differences here and see exactly what the reason is ?

Thanks,

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Feb 29 2008 9:52 AMPermanent Link

Felix
<<
Is there a lot of blank space ?  If so, then that is most likely the main
culprit.  EDB has to adhere to the SQL standard of only comparing non-blank
space, so there is some additional overhead there also for CHAR columns.

Could you possibly send me the table via email so that I can test the
differences here and see exactly what the reason is ?
>>

Sure, both DBISAM and EDB tables are sent.

Thanks. Felix
Fri, Feb 29 2008 11:35 AMPermanent Link

Dave Harrison
Tim Young [Elevate Software] wrote:
> Dave,
>
> << I've found that DBISAM makes better use of the OS cache so if you run the
> DBISAM query twice, the second query will run much faster than the first.
> Not so with EDB. So you could be experiencing the Windows caching effect. >>
>
> There is absolutely no difference at all between the way DBISAM and EDB deal
> with the OS file system cache.  The difference in times is most likely
> entirely down to the index key comparisons on the VARCHAR/CHAR columns, just
> like you experienced with your tests.
>
Tim,
    Then why is the second time the DBISAM query is executed so much
faster than the second time the EDB query is executed? In other words,
the DBISAM query speed improves dramatically the second time it is run
compared to a small improvement with EDB?

Dave
Page 1 of 2Next Page »
Jump to Page:  1 2
Image