仓酷云

标题: 在Sql Server中将字符串支解成表格数据示例 [打印本页]

作者: 深爱那片海    时间: 2015-1-16 14:07
标题: 在Sql Server中将字符串支解成表格数据示例
mysql的原来开发者又开发了MariaDB,MariaDB适合用来替代mysql吗好比我们有一个字符串
declare@appNamevarchar(50)
select@appName=UserID=admin,Account=ABC

然后我们要以","为行支解标记,以"="为列支解标记将@appName支解成多行两列的格表数据。
也就是将下面的@appName值支解成
NameValueUserIDadminAccountNumberABC这类格局的数据。

就教了良多伴侣,上面将最复杂的办法贴出来,供人人参考:
declare@atable(avarchar(100),bvarchar(100))
declare@svarchar(100),
@mvarchar(100),
@iint

set@s=UserID=admin,Account=ABC
set@i=charindex(,,@s)

while@i>0
begin
set@m=left(@s,@i-1)
insertinto@a(a)values(@m)
set@s=right(@s,len(@s)-@i)
set@i=charindex(,,@s)
end
insertinto@a(a)values(@s)

selectleft(a,charindex(=,a)-1)asName,right(a,len(a)-charindex(=,a))asValuefrom@a


以上sql经自己测试是准确的,人人能够做参考改成合适本人的sql语句。Merge将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用
作者: 透明    时间: 2015-1-18 12:08
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
作者: 仓酷云    时间: 2015-1-25 23:34
但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)
作者: 深爱那片海    时间: 2015-2-4 13:54
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
作者: 愤怒的大鸟    时间: 2015-2-10 01:47
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
作者: 爱飞    时间: 2015-2-28 16:27
大家注意一点。如下面的例子:
作者: 山那边是海    时间: 2015-3-10 04:10
一直以来个人感觉SQLServer的优化器要比Oracle的聪明。SQL2005的更是比2k聪明了不少。(有次作试验发现有的语句在200万级时还比50万级的相同语句要快show_text的一些提示没有找到解释。一直在奇怪。)
作者: 金色的骷髅    时间: 2015-3-17 04:54
对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。
作者: 精灵巫婆    时间: 2015-3-23 20:51
是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。




欢迎光临 仓酷云 (http://www.ckuyun.com/) Powered by Discuz! X3.2