Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Larry Ellison comments on Microsoft's benchmark
Hi,
In the simplest case of an equal predicate on the partitioning key this
can be used to send the request to exactly the node having the row and
no other machine.
Also not all tables are necessarily spread out over all machines. Note
that a good DBMS does not send the whole query, it ships either parts of
a the executable access plan (e.g. DB2 EEE), or in case of a federated
system a reverse engineered subquery (Datajoiner or DB2 V7.1) from the
global plan. Since the system knows which tables are used in that piece
of the plan, along with their predicates it can avoid broadcasts. (SQL
Server 2000 does this using check constraints, DB2 EEE partitioning
keys).
Also modern DBMS have rules that allow to chop of whole pieces of the
query.
E.g. view columns that are not used and derived from certain kinds of
joins allow to eliminate the join, or UNION branches whose predicates or
table check constraints interact with query predicates. So again data
living on a dead machine may not affect the capability of the System to
return correct results.
(I don't know much about Oracle, Informix or Sybase, the choice of my examples is merely based on what I know of other products. It's by no means complete (not even for DB2))
Cheers
Serge
Received on Wed Jul 12 2000 - 00:00:00 CDT
![]() |
![]() |