(1)两表关联返回的记录不多,最佳情况是驱动表的结果集返回1条或少量的及条记录,而被驱动表仅匹配到1条或少量的几条记录,这种情况即便T1表和T2表的记录很大,但是也非常迅速。
(2)遇到不等值查询等导致哈希和排序合并连接被限制使用,不得不使用NL连接。
(3)驱动表的限制条件所在列有索引,被驱动表的连接条件所在列有索引。
哈希连接:两表关联等值查询,在没有任何索引的情况下,Oracle倾向于走哈希算法,增大PGA中的HASH_AREA_SIZE是优化哈希连接的有效方法。对于内存自动管理的,只要增大PGA就行。
排序合并连接:索引的连接条件虽然没有检索作用,却有消除排序的作用。缺陷:即使在连接条件的两个列都建过索引,却只能消除一张表的排序。增大内存排序区,避免在排序尺寸过大时在磁盘中排序。