目前有一个项目,使用的SQL Server 数据库,操作的数据中,偏偏有那么一个字段,大小50K左右,这也没啥,更凑巧的是数据量大得吓人,数据量以20W/天的速度增加,并且那个50K的字段还会频繁使用,针对这样的问题,我实在不知道该怎么提高性能了,求指教。
现在我们的做法是,针对大字段数据单独创建数据表,以一个唯一ID和其他表关联,另外考虑对大字段的表进行分区,如果计算机上只有一个可利用的盘符(系统盘一般不用),分区有明显的优势吗?
谢谢大家的帮助....

解决方案 »

  1.   

    楼主的表述很让人怀疑:
    单是一个字段,每天将近10G的数据增量,你的物理磁盘有多大?你这样的数据增量连续会有多少天?如果只有一个物理硬盘,那分不分区没什么区别,因为你已经用了一个唯一ID与其他表连接了,查找基本不费什么事,关键是数据库文件和从磁盘读取数据的开销.
    最好是有一个独立的物理磁盘,在该磁盘里创建一个数据库文件,将这个表写在这个文件里.
      

  2.   

    分区的目的,是对关系复杂的,巨量记录数的表进行优化查询而采用的一种方法,但对于你这个表好像并不合适,因为,你的表记录数并不多,每行50K,就算把200G的磁盘写满,也才400万条记录,你的表只有两个列,ID,数据,因此,似乎根本用不着采用分区表,另外,你的表查询并不费事,因为它是由ID与另一个表连接着的,一般也很少会对一个有50K数据量的列进行模糊查询,因此,对你的表的查询关键是磁盘I/O,在你只有一个盘符的情况下,没有,也不需要另外用什么方法来对付它.