有关多表查询看网上说都是要避免的,因为性能太低,而且对于程序开发不方便,有人建议说要适当增加冗余,但是增加冗余对于保证数据库数据的一致性就有很大的难度。想请教大家的是:1.对于多表查询是否要避免?
2.通过增加冗余来避免多表查询,如何保证数据的一致性?
3.创建视图来替代多表联接查询可以提高程序开发的方便性,但是视图在插入和更新时有可能会发生异常,还有就是利用视图可以提高查询的效率吗?

解决方案 »

  1.   

    基本上遵循ORACLE的优化几个要点就可以了,不同的SQL、环境,不同的解决方案。
      

  2.   

    1.对于多表查询是否要避免?
      看个人情况, 对优化有较深入理解的话就不需要. 查询速度主要跟物理读和逻辑读有关. 冗余数据的话可能反而增加了逻辑读数量.
     
    2.通过增加冗余来避免多表查询,如何保证数据的一致性? 
        这是一个很大的问题. 
    3.创建视图来替代多表联接查询可以提高程序开发的方便性,但是视图在插入和更新时有可能会发生异常,还有就是利用视图可以提高查询的效率吗?
       视图只跟方便性有关,跟性能关系不大. 另外, 没想通. 为什么要用视图执行dml操作?