连接方法伪指令会影响数据库服务器在查询中连接两个表的方式。
以下伪指令会影响两个表之间的连接方法:
- USE_NL
将所列出的表用作嵌套循环连接中的内表。
- USE_HASH
使用散列连接访问列出的表。您还可以选择表是用来创建散列表的,还是用来探测散列表的。
- AVOID_NL
不要将所列出的表用作嵌套循环连接中的内表。用该伪指令所列出的表仍然可作为外表加入嵌套循环连接中。
- AVOID_HASH
不要用散列连接来访问所列出的表。您可以有选择地采用散列连接,但是要对表进行限制,该表不允许是被探测的表或是建立散列表所用的表。
您可以在 USE_HASH 或 AVOID_HASH 优化器伪指令中的表名称之后指定关键字 /BUILD:
- 使用 USE_HASH 伪指令时,/BUILD 关键字会指示优化器使用指定的表来构建散列表。
- 使用 AVOID_HASH 时,/BUILD 关键字会指示优化器避免使用指定的表来构建散列表。
您可以在 USE_HASH 或 AVOID_HASH 优化器伪指令中的表名称之后指定关键字 /PROBE:
- 使用 USE_HASH 伪指令时,/PROBE 关键字会指示优化器使用指定的表来探测散列表。
- 使用 AVOID_HASH 伪指令时,/PROBE 关键字会指示优化器避免使用指定的表来探测散列表。