还能怎么关联?关联条件只能是where A.ID=B.AID,区别是连接方式(内联、外联、全联)
关联方式是根据业务需求决定的,和效率也没啥关系啊
关联字段加上索引能快点,貌似没啥其他方式提升效率了

解决方案 »

  1.   

    我的意思是下面几条语句谁的效率高:
    1、SELECT * FROM A, B WHERE A.ID = B.AID
    2、SELECT * FROM B, A WHERE A.ID = B.AID 
    3、SELECT * FROM A LEFT JOIN B ON A.ID = B.AID
    4、SELECT * FROM A JOIN B ON A.ID = B.AID 前段时间看的一篇文章,关于上面几条SQL效率及作用看的不太明白。
      

  2.   

    1、2 早期的oracle版本 编码表放在右侧快一点,最新版本oracle应该已经没有差别
    1、4效率相同,不同写法而已
    3、使用了左连接,会遍历A表,因此大多数情况下比其他语句要慢
      

  3.   

    在基于代价的优化器下面三个语句执行计划应该是一样的,效率一样的(你可以看一下执行计划)
    1、SELECT * FROM A, B WHERE A.ID = B.AID
    2、SELECT * FROM B, A WHERE A.ID = B.AID 
    4、SELECT * FROM A JOIN B ON A.ID = B.AID 这个查询含义与上面三个不一样了,查询结果不一样
    3、SELECT * FROM A LEFT JOIN B ON A.ID = B.AID