标题:MSSQL2000表数量问题
只看楼主
zhangty
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-6-23
 问题点数:0 回复次数:0 
MSSQL2000表数量问题

最近,为公司开发一个项目资料管理系统设计了MSSQL库。程序已经开发差不多时,公司信息部审查,觉得我数据库规划有问题,问问各位专家,我这样的项目这样规划合理吗? 数据库规划如下: 信息系统资料管理模块主要实现以下功能: 用户把跟项目工程有关的文档资料(word,xls,cad,pdf等)在系统中集中管理。系统本身有一个本地数据库记录文件位置,信息等。当然物理文件只保存在系统某个文件夹中。当用户登陆网络时,把所有的本地文件,备份到网络服务器的MSSQL服务器中,此时文件以流形式,在本地压缩,然后存入数据库的IMG字段中。   因为流文件直接存入数据库IMG字段,对系统的性能会大大损耗,故在设计数据库时,伤透了脑筋。   整个系统一般会有400个用户,我把数据库设计如下:   除了一些基本的数据信息设计了近十来个表外,我为每个用户都设立了二个表,也就是说,每增一个用户会动态生成二个表。现在数据库中已经导入350个用户,系统已经有800个表了。   为每个用户都各自设表:因为考虑到用户在数据库中存取的是大容量的流文件。当用户更新大容量新流数据时,锁定表的时间片会较长,如果十来个用户一起更新数据,,那等待的时间会较长!一个用户各自更新各自表,那只要服务器性能跟上,就不存在这问题。   因为要把文件信息跟存大容量流文件字段分开,所以每个用户就有二个表,一个表只存文件信息,平常用户只做查询,调用文件信息表就够,当用户要打开一个文件时,才调用一个存流表的一个记录,这样提高了数据库的查询性能。   目前,系统进入测试阶段,数据库达到450M时,我用把400M,880个文档,更新到数据库中,用了4分钟就完成,性能还不错,当然到数据库达到T级时不知性能会怎么样,400个用户都用起来时,会怎么样?   最近公司信息中心领导提出:每增一个用户会生成二个表的做法很不合理。   请问大家:我这样的系统设计这样的表,合理吗?        MSSQL2000表数量达到多少时,会降底性能!多少表数量是一个合理范围?

这个系统,每个用户的表结构是一样的,我只是设想每个用户只是调用自己的表,,系统每个用户都会有1-2G的文档更新到数据库中,用户数量大概不会超过500个,也就是说充其量,数据库中表数量不会超过1200个,如果把所有用户合并到二个表中,那记录数就会超长,表速度会大大降底?

数据库结构一点也不复杂,每个用户有自己的表,表名是以用户帐号命名的,现在只考虑有没有必要把所有用户表合并,大家只对一个表进行操作.合并表,跟用户调用自己表,从表记录数超长,跟表数量达到1200个的取舍,大家觉得那个合理(要考虑到表中存取的是大容量流文件)

搜索更多相关主题的帖子: 数据库 cad 信息系统 网络服务器 物理 
2005-06-23 10:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-21402-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.174379 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved