前提是在一块磁盘上,
我对表分区时:
a:把不同的分区放在同一表空间上
b:把不同的分区放在不同表空间上
问题:
1,a和b的两种方法哪种更好,为什么?
2,a和b的两种方法,如果涉及对表的多个子分区的操作,会并行吗?

解决方案 »

  1.   


    采用分区表,最好放在不同的表空间上,不过放在同一分区,因为数据相对集中,在同一个段上,查询速度也要快点。 Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 
    Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SEGMENT),可以存放到不同的表空间中。查询时可以通过查询表来访问各个分区中的数据,也可以通过在查询时直接指定分区的方法来进行查询。 
    参考blog:
    Oracle 分区表
    http://blog.csdn.net/tianlesoftware/archive/2009/10/24/4717318.aspx
    ------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    Q Q 群:62697716 
      

  2.   

    那如果是用raid把几块磁盘合在一起,成一块的话
    a:把不同的分区放在同一表空间上 
    b:把不同的分区放在不同表空间上 
    a 和 b 有什么区别?哪种更好?
      

  3.   

    如果底层是多块磁盘做了个RAID,那么一般放在不同表空间和同一表空间相差不大,因为底层你无法控制将不同的文件存放在不同的磁盘上。很久以前的讲究,说哪些文件和哪些文件要分开放,这都是从IO的角度来考虑的,现在基本上都是ASM的,所以用得比较少了,像你这样已经做了RAID的,你所能做的就很少了。不过一般从业务应用角度来说,建议不同的业务使用不同的表空间,这个不是从IO考虑,是从应用的角度来考虑,比如可以把某个应用对应的表空间offline,而不影响其他的应用。