Subject | FB 2 (RC1) faster than FB 1.5.3 |
---|---|
Author | russellbelding |
Post date | 2006-04-15T08:31:53Z |
While converting SQL for a FB 1.5.3 to a FB 2.0 RC1 application I
timed three sequential select statements. One follows and the two
others are like it. They are used to report on done, pending and
overdue tasks that have been scheduled.
select
USERS.USER_NAME,
USERS.USER_ID,
(select count(MATTER_EVENTS.MATTER_EVENT_ID)
from MATTER_EVENTS
join MATTERS on MATTER_EVENTS.MATTER_ID=MATTERS.MATTER_ID
where (MATTER_EVENTS.DATE_REQD is not null) and
(MATTERS.STATUS_ID=2) and
(MATTER_EVENTS.PERFORMER_ID=USERS.USER_ID) and
(MATTER_EVENTS.B_IS_ACTIVE=1) and
(MATTER_EVENTS.DATE_DONE is null) and
(cast(MATTER_EVENTS.DATE_REQD as DATE) >=
cast(current_date as DATE))) as theCount
from USERS
FB 1.5.3 took 1 min 9 sec and FB 2.0 RC1 took 2 sec using the same
data on similar servers. The Server and Client were the same PC. The
FB 1.5.3 PC was a 3GHz P4 and FB 2 ran on a 2.8GHz P4. Each trial
was ran twice with the same times.
That is an impressive reduction in time.
RB
timed three sequential select statements. One follows and the two
others are like it. They are used to report on done, pending and
overdue tasks that have been scheduled.
select
USERS.USER_NAME,
USERS.USER_ID,
(select count(MATTER_EVENTS.MATTER_EVENT_ID)
from MATTER_EVENTS
join MATTERS on MATTER_EVENTS.MATTER_ID=MATTERS.MATTER_ID
where (MATTER_EVENTS.DATE_REQD is not null) and
(MATTERS.STATUS_ID=2) and
(MATTER_EVENTS.PERFORMER_ID=USERS.USER_ID) and
(MATTER_EVENTS.B_IS_ACTIVE=1) and
(MATTER_EVENTS.DATE_DONE is null) and
(cast(MATTER_EVENTS.DATE_REQD as DATE) >=
cast(current_date as DATE))) as theCount
from USERS
FB 1.5.3 took 1 min 9 sec and FB 2.0 RC1 took 2 sec using the same
data on similar servers. The Server and Client were the same PC. The
FB 1.5.3 PC was a 3GHz P4 and FB 2 ran on a 2.8GHz P4. Each trial
was ran twice with the same times.
That is an impressive reduction in time.
RB