建议7.5 - 建议7.7

来源:互联网 发布:农村商业银行软件 编辑:程序博客网 时间:2024/04/26 01:35

建议7.5:在返回的结果集大于1行时,不建议使用嵌套循环连接,应考虑使用哈希连接或排序合并连接进行替换。

&说明

返回大量结果集时嵌套循环连接的成本较高、效率很低,此时应考虑变换连接方式,特别在使用RBO优化器时,嵌套循环连接的优先级较高,通常需要用“提示”来强制改变连接方式。

建议7.6:两个无序大表的连接,在连接字段无索引时,不建议使用合并排序连接。

&说明

排序合并连接需要先对两个表按连接字段进行排序,如果两个表都非常大,其排序的操作的代价会非常巨大。

建议7.7:含有多表的SQL语句,必须明确指定各表的连接条件,以避免产生迪卡尔积。

--明确所有表的连接条件
select a.column2, b.column2, c.column2
  from t_tablename1 a, t_tablename2 b, t_tablename3 c
 where a.column1 = b.column1
   and b.column1 = c.column1
   and c.column1 <> value;

0 0