MSSQL网站制作之字符串分拆查询
在需要把许多新记录插入某个数据表的场合,DELAY_KEY_WRITE选项的作用将非常明显。另外,索引还会在硬盘上占用相当大的空间。因此应该只为最经常查询和最经常排序的数据列建立索引。注意,如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实际效果。字符串原帖地点:http://community.csdn.net/Expert/topic/3230/3230422.xml?temp=.7884485
有如许的数据
字段1字段22,4,233,6,34523,56,43,3,67取数据的是查询字段1中前提是4那末在字段2在取的是6与67了局以下============46467
-------------------------------------------------------------------------------
--处置示例
--测试数据createtabletb(字段1varchar(10),字段2varchar(10))inserttbselect2,4,23,3,6,345unionallselect23,56,4,3,3,67go
--写个自界说函数来处置createfunctionf_value(@avarchar(10),@bvarchar(10),@cvarchar(10))returnsvarchar(10)asbegindeclare@iint,@posintselect@a=left(@a,charindex(,+@c+,,,+@a+,)-1),@pos=len(@a)-len(replace(@a,,,))+1,@i=charindex(,,@b)
while@i>0and@pos>1select@b=substring(@b,@i+1,8000),@i=charindex(,,@b),@pos=@pos-1return(case@poswhen1thencasewhen@i>0thenleft(@b,@i-1)else@bendelseend)endgo
--查询declare@avarchar(10)set@a=23--查询参数
--查询语句selectA=@a,B=dbo.f_value(字段1,字段2,@a)fromtbgo
--删除测试droptabletbdropfunctionf_value
/*--测试了局
AB--------------------23345233
(所影响的行数为2行)--*/
恢复到之前的某个状态,是需要数据的。这数据可以是a)回滚步骤或者b)操作之前的数据状态原文。 是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。 而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~ 可以动态传入参数,省却了动态SQL的拼写。 这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。 入门没那么困难,精通没那么容易 备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。 可以动态传入参数,省却了动态SQL的拼写。 大侠们有推荐的书籍和学习方法写下吧。
页:
[1]