|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
用一个库#bak_database存放这些历史数据。 本文是SQLServer2005关于数据范例最年夜值成绩的办理举措的实例。
事变入手下手得很复杂。MegaWare公司市场部门想要一个新的网站来公布文档,开辟团队以为利用SQLServer2000数据库作为文档存储堆栈会使事变变得复杂。Steve是MegaWare的数据库办理员,没有看出这有甚么年夜成绩;在数据库中存储文档,而不是利用文件体系,意味着服务器必要多做一些事情,可是它也会使得备份和办理简单很多。数据库与文件体系变得分歧步也应当是不成能的。
市场部门想要存储的很多文档都凌驾了8000个字节,那末很分明VARCHAR不是合适这项事情的数据范例。作为替换,TEXT数据范例被用来界说寄存数据的字段。由于每一个TEXT都能包容2GB的内容,TEXT要寄存市场部门的同事们扔进数据库的最年夜的文件也是没有成绩的。
数月已往了,市场用大批的无聊拷贝填满了全部数据库。可是这还不是Steve真正体贴的成绩。数据库兴奋地嗡嗡作响地运转着,每一个人对项目标了局都很中意。
直到公司的口号改动的谁人严重的日子。市场部的团队以为“MegaWare:Itsreallycool!”要比本来的“ItsMegaWaresWayortheHighway!”听起来更好。由于市场部团队已将本来的口号嵌进了堆栈中每一个文档的页脚上,如今Steve的事情就是变动一切这些文档的页脚。
“没有成绩,”Steve想,翻开SQLServer查询剖析器工具,实行了以下的T-SQL批处置:
UPDATEMarketingDocuments
SETDocument=
REPLACE(Document,
ItsMegaWaresWayortheHighway!,
MegaWare:Itsreallycool!)当他看到呈现的毛病动静的时分,Steve的轻松的浅笑很快消散了,“交换函数的参数1,text数据范例有效。” 交换函数在编写出来的时分,就对TEXT数据范例不起感化。一样也对CHARINDEX大概SUBSTRING不起感化——大概最少是他们在凌驾8千个字符的情形下不起感化。更进一步地讲,开辟职员忘了处置TEXT大概IMAGE范例的当地变量;实践上不撑持任何操纵。即便是复杂地更新一个文档中的一个子字符串都必要用到流畅的器材,和难以利用的相似READTEXT和WRITETEXT的函数。而不是开辟职员大概劳碌的数据库办理员由于想要弄清怎样准确利用而接纳了分歧范例的函数损耗了工夫。
用一个库#bak_database存放这些历史数据。 |
|