仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 600|回复: 7
打印 上一主题 下一主题

[学习教程] MYSQL教程之将一切切合前提的了局拼接成一列并用逗...

[复制链接]
灵魂腐蚀 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:15:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
业界普遍的声音认为:“MySQL是一个可靠的数据库系统,MySQL学习教程无论是在嵌入式或大型群集系统的部署中,还是在基于Web的应用程序领域。复制代码代码以下:
createtabletb(idint,valuevarchar(10))
insertintotbvalues(1,"aa")
insertintotbvalues(1,"bb")
insertintotbvalues(2,"aaa")
insertintotbvalues(2,"bbb")
insertintotbvalues(2,"ccc")
go
createfunction[dbo].[f_str](@idint)returnsnvarchar(1000)
as
begin
declare@strnvarchar(1000)
set@str=""
select@str=@str+","+cast(valueasnvarchar(900))fromtbwhereid=@id
set@str=right(@str,len(@str)-1)
return@str
end
go
--挪用函数
selectid,value=dbo.f_str(id)fromtbgroupbyid

运转了局:

原本在下面的函数中一切的nvarchar都是varchar范例的,而且下面函数的白色处在挪用cast办法时,并未指定长度。伴侣测试后发明,了局会在30个字符时截断,本来觉得是varchar和nvarchar的区分,我试着将varchar改成了nvarchar,伴侣测试的了局是在54个字符处截断。我查了下,是varchar的默许长度成绩,见sqlserver联机丛书中上面的申明:


char和varchar
流动长度(char)或可变长度(varchar)字符数据范例。

char[(n)]

长度为n个字节的流动长度且非Unicode的字符数据。n必需是一个介于1和8,000之间的数值。存储巨细为n个字节。char在SQL-92中的同义词为character。

varchar[(n)]

长度为n个字节的可变长度且非Unicode的字符数据。n必需是一个介于1和8,000之间的数值。存储巨细为输出数据的字节的实践长度,而不是n个字节。所输出的数据字符长度能够为零。varchar在SQL-92中的同义词为charvarying或charactervarying。

正文
假如没有在数据界说或变量声明语句中指定n,则默许长度为1。假如没有利用CAST函数指定n,则默许长度为30。

将为利用char或varchar的工具被指派数据库的默许排序划定规矩,除非用COLLATE子句别的指派了特定的排序划定规矩。该排序划定规矩把持用于存储字符数据的代码页。

撑持多言语的站点招考虑利用Unicodenchar或nvarchar数据范例以只管削减字符转换成绩。假如利用char或varchar:

假如但愿列中的数据值巨细靠近分歧,请利用char。


假如但愿列中的数据值巨细明显分歧,请利用varchar。
假如实行CREATETABLE或ALTERTABLE时SETANSI_PADDING为OFF,则一个界说为NULL的char列将被作为varchar处置。

当排序划定规矩代码页利用双字节字符时,存储巨细仍旧为n个字节。依据字符串的分歧,n个字节的存储巨细大概小于n个字符。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。
admin 该用户已被删除
沙发
发表于 2015-1-19 06:03:56 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
再现理想 该用户已被删除
板凳
发表于 2015-1-24 22:01:51 | 只看该作者
现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
冷月葬花魂 该用户已被删除
地板
发表于 2015-2-2 15:02:48 | 只看该作者
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
莫相离 该用户已被删除
5#
发表于 2015-2-7 23:46:27 | 只看该作者
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
谁可相欹 该用户已被删除
6#
发表于 2015-3-7 10:16:21 | 只看该作者
理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
小妖女 该用户已被删除
7#
发表于 2015-3-14 23:04:49 | 只看该作者
换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的
山那边是海 该用户已被删除
8#
发表于 2015-3-21 16:02:55 | 只看该作者
如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 03:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表