一个查询包含多个表时,GBase 8s 在查询中使用过滤器将这些表连接起来。优化器选择来连接表的方法是连接计划。
SELECT * from customer, orders WHERE customer.customer_num = orders.customer_num AND customer.lname = "Higgins";
连接方法可以是嵌套循环连接或者是散列连接。
由于散列连接的特性,隔离级别设置为“可重复读”的应用程序可能会暂时锁定表中涉及连接的所有记录,包含不满足连接的记录。此情况导致连接中的并发性减少。相反地,嵌套循环连接锁定更少的记录,但在访问大量行时性能会降低。因而,每种连接方法都有优点和缺点。