RelationalDBDesign 





Network Topology   «Prev 

Distributed query Processing

Distributed query processing is more than the ability to execute a query against more than one database. In Oracle, the query is executed at the node the user is signed on to, while other databases partition a distributed query into subqueries, executing each subquery on its host processor.
In Oracle, a distributed query might query data items from widely distributed databases in a single query. Oracle implements distributed queries with database links.
Within Oracle, distributed query processing is much more than the ability to execute a query against more than one database. In Oracle, a distributed query splits the execution, sharing resources from each Oracle instance. In Oracle warehouses, a distributed query might query data items from widely distributed databases in a single query. For example, consider the following:



SELECT CUSTOMER.name, CUSTOMER.address, ORDER.order_number, 
ORDER.order_date
FROM customer@tokyo, order@paris
In Oracle, the query is executed at the node that the user is signed-on to, while other database's partition a distributed query into sub-queries, executing each subquery on its host processor.
The performance of a query should not depend on where the data resides. The optimization of distributed queries is vital because a poor execution plan can take orders of magnitude longer than a correct one. For example, if a query includes a large intermediate result set, that data probably should not be shipped over the network to the database with a small table that is to be joined with the result set.