日期:2014-05-17  浏览次数:20522 次

Sql sever数据库表的字段里存放压缩的CAD图纸
直接在Sql sever数据库表的字段里存放压缩的CAD图纸会影响Sql seve的查询和响应性能么?
图纸压缩后的大小在1M-3M,数据量大概在5W行,在这个前提下,是不是选择将图纸放在统一的目录下,在表的字段里存图纸地址会比较好?

------解决方案--------------------
直接存图片是通过流的方式进行压缩,读取的时候还要进行转换读取,非常慢的。
说白了,数据库不是干着活儿的东西....
------解决方案--------------------
把图片放在数据库中的优点是管理方便,备份什么的都好处理,存取也不用共享
缺点是影响数据库性能,写数据库可是有日志的
按照你这个标准至少50G数据库,
所以还是只放路径吧
------解决方案--------------------
2008的话这种体积,可以考虑用filestream
------解决方案--------------------
引用:
Quote: 引用:

2008的话这种体积,可以考虑用filestream

初步打算是要用2005的,用filestream的话查询读取的速度能加快很多么?
filestream是针对你这类的问题优化,不过既然用2005就不用考虑了
------解决方案--------------------
另外,也可以考虑分表,比如:

表1
主键id,其他字段

附表:
主键id,图片

然后,如果不要图片,就直接查询表1,如果需要图片那么就查询 附表
------解决方案--------------------
引用:
恩,多谢大家的回答,解决我很多疑惑,看来大家都是倾向于在库里只存储路径。
如果将图纸存到数据库中,不考虑查询读取的速度的话,是不是对开发相对容易一些?


差不多吧,
如果是你C/S架构的问题,最大问题就是文件访问问题,
以前我遇见过,开发的时候以文件共享方式开发,到后期过不了检查说不安全,
所以开发socket来传文件,也很麻烦