各位好,现在有一张大表,里面大概有上亿条的记录,现在我打算把它放在不同的分区,请问如果我想查表中所有数据的话,使用分区可以能提高性能吗?

解决方案 »

  1.   

    分区当然可以提高查询性能,I/O次数可能会增大,但是多个分区同时进行I/O会快不少,而且将数据分布在不同磁盘上的话,还可以减少I/O竞争。
      

  2.   

    从网上看到的说法是2000w以上的数据,做分区表,能提高性能。 分区提供以下优点: 
    由于将数据分散到各个分区中,减少了数据损坏的可能性; 
    可以对单独的分区进行备份和恢复; 
    可以将分区映射到不同的物理磁盘上,来分散IO; 
    提高可管理性、可用性和性能。至于这个2000w也没有具体测试过,我们生产库上一个1000w的表,也是做分区的。 对楼主说的1亿数据,做分区表肯定是能提高性能的。 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 
    DBA1 群:62697716(满); DBA2 群:62697977
      

  3.   

    不好意思,由于这两天工作太忙,没及时回复大家的帖子。看了各位的帖子,分区是必要的,另外8,9两楼的建议也很好,表中要定期清理数据。五楼的兄弟说的有道理,查询语句对效率影响很大,我会花时间优化我的sql语句的。再次谢谢各位!