在SQL中避免使用BLOB格式存储图象文件


大型的二进制对象,或BLOBs, 是SQL Server中可以用在不同用途的任意数据对象。 一种可能的应用是用BLOBs存储图象数据。例如, 一个具有与特定物件相称的数据记录的网站包含一个物件图象的图表。一些程序员为数据库能存储各种数据的便利和轻捷方式所吸引。虽然这听起来是一个极好的做法, 但实际上并不是非常好的方法, 有几个理由:
  
  第一,投入如此多的数据库处理资源和内存代宽将图象前后传送影响数据库的整体性能。图象不一定要存到数据库里, 但一般的通用数据需要存到数据库里。为数据库留出确实需要的空间越多越好。
  
  第二,在每个安装好的Windows服务器都有非常强劲的分层数据库, 其设计是很明确地存储和复制大量的大数据-特别是图象数据。这称为NTFS文件系统。Windows已经具有很多系统资源来专门存储和管理文件系统, 所以不利用其功能是不能理解的。在设定了适当的许可和安全措施后, 现成的文件系统是理想的手段来存储与数据库相关的图象。 不要再重复文件系统的工作。
  
  第三, 在SQL Server 中储藏大容量的二进制数据会造成数据库管理问题和浪费空间。SQL Server以8K的页来分派数据, 而NTFS可以接受的最小数据段可以达到 512 字节。在SQL Server中存储大量图象会产生更多的浪费空间。SQL Server可以存储少于64字节的一堆二进制数据作为组成数据库的树形根结构的一部分, 但很少有图象会小于64字节。另外, 备份和恢复单一的可能会增长为好十亿字节的数据库将比备份个别文件会遇到更多的问题和耗费更多的时间 本文作者:



相关阅读:
Linux对Windows系统进行DDOS攻击的方法
mysql myisam 优化设置设置
分页显示Mysql数据库记录的类
SQL Server 2005中更改sa的用户名的方法
实例讲解更改Oracle数据库中的sys口令
彻底弄清楚haslayout概念
ASP中遍历和操作Application对象的集合
Web开发者应当开始学习HTML5的新功能
用JavaScript脚本将当地时间转换成其它时区
html tbody 用法
127.0.0.1无法访问,没有权限: GetObject
几个php技巧
推荐个功能齐全的发送PHP邮件类
Windows7比Vista更省电
快速导航

Copyright © 2016 phpStudy |