情况是这样的,我们系统,每天都会有很大的数据写入到数据库。这么大的数据量在查询的时候就显的很慢,现在想分成两个库一个静态库一个动态库,静态库保存基础数据,动态库保存生产业务数据。每隔一段时间自动生成一个新的动态库然后数据写入到这个新库,查询的时候系统能够根据日期自动匹配到对应的历史动态库。请问该怎么实现?
自动分库

解决方案 »

  1.   

    如果对业务和数据库结构很清晰,可以开发一套抽取程序,用ssis就可以了。把数据定时从动态抽取到静态库,然后清空动态库的这部分数据,其实就是一个典型的数据仓库抽取功能
      

  2.   

    你这个其实就是在制造一个数据仓库,历史库如果只读的话,有大量的方法提高性能,特别是如果使用SQLServer2012,微软给出的测试数据是14.4亿行,查询只需要1秒多一点,用了列存储索引。
      

  3.   

    可以,SQLServer2005支持TB级别的都没问题,不过你可以根据业务来分库,比如你的业务经常只需要查询一个月或者一年的数据,那么就按照这个单位来分库。