散列连接检索首行的成本,通常比嵌套循环连接要高。 使用散列连接时,检索任何行之前数据库服务器都必须建立散列表。 然而,在某些情况下,如果数据库服务器使用散列连接,会缩短总查询时间。
QUERY:
------
SELECT * FROM tab1,tab2
WHERE tab1.col1 = tab2.col1
Estimated Cost: 125
Estimated # of Rows Returned: 510
1) lsuto.tab2: SEQUENTIAL SCAN
2) lsuto.tab1: SEQUENTIAL SCAN
DYNAMIC HASH JOIN
Dynamic Hash Filters: lsuto.tab2.col1 = lsuto.tab1.col1
QUERY: (FIRST_ROWS OPTIMIZATION)
------
SELECT * FROM tab1,tab2
WHERE tab1.col1 = tab2.col1
Estimated Cost: 145
Estimated # of Rows Returned: 510
1) lsuto.tab1: SEQUENTIAL SCAN
2) lsuto.tab2: INDEX PATH
(1) Index Keys: col1
Lower Index Filter: lsuto.tab2.col1 = lsuto.tab1.col1
NESTED LOOP JOIN