公司以前设计的数据库,其中有几个表现在有3G了,已存了四年的资料,现在查询起来特别慢,不知该如何设计才合理.
各位有何高见对于数据库跨年度而且不断增加数据的现象如何合理设计数据库?

解决方案 »

  1.   

    楼上仁兄:用视图不会慢吗?也一样要查询这个大的数据表的呢
      

  2.   

    一般说来,在应用中,被查询的数据大都是最近的,如本月的,本季的,本年度的.你可以考虑把不经常查的数据定期转储为备份表并从主表中删除.这样,数据量得到了控制,如果用户一定要查经年以久的数据,可以到备份表中去查.这样可以使服务器大为轻松.
      

  3.   


    一般来说,在数据库中建立索引后,速度不会太慢的。
    如果经常需要进行年度统计之类的,可以把数据分割成几个表,一年一个表。
    另外,如果查询的此处比较频繁的时候,一个表中包含的列不要太多,可以把一个表拆分成两个到三个表。
      

  4.   

    如果你想查看具体的记录,就用索引
    如果你想统计,推荐就是存储算好的
      

  5.   

    仁兄,知道有个叫索引视图的东东么……到底怎么设计要看数据库是做什么用的。记住一个基本的原则就是:只去读需要用到的数据,别为了返回一条记录而对一个100w的表全扫。
    建索引是必须考虑的,另外像上面说的分割表还有做分区甚至分库、对常用的统计语句建立索引视图都是可行的方法。
      

  6.   

    还是对历史数据做一个封存或者结转,重新建立一个新数据库,清空所有业务明细表,结构不变,保留上期结余的汇总数据。
    或者用视图。