仓酷云

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

[学习教程] MSSQL网站制作之uniqueidentifier 数据范例

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
#
发表于 2015-1-16 22:23:31 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
这能找出所有错误的99.99%。它不能找出的是仅仅涉及数据文件的损坏(这很不常见)。如果你想要检查一张表,你通常应该没有选项地运行myisamchk或用-s或--silent选项的任何一个。数据|数据范例想要发生这类独一标识的格局的数据:
6F9619FF-8B86-D011-B42D-00C04FC964FF

应当怎样做呢?
================================================================
答:
uniqueidentifier数据范例可存储16字节的二进制值,其感化与全局独一标识符(GUID)一样。GUID是独一的二进制数;天下上的任何两台盘算机都不会天生反复的GUID值。GUID次要用于在具有多个节点、多台盘算机的收集中,分派必需具有独一性的标识符。
uniqueidentifier列的GUID值一般经由过程以下体例之一猎取:
在Transact-SQL语句、批处置或剧本中挪用NEWID函数。
在使用程序代码中,挪用前往GUID的使用程序API函数或办法。
Transact-SQLNEWID函数和使用程序API函数和办法用它们的网卡的标识号加上CPU时钟的独一编号来天生新的uniqueidentifier值。每一个网卡都有独一的标识号。NEWID前往的uniqueidentifier值是经由过程利用服务器上的网卡而天生的。使用程序API函数和办法前往的uniqueidentifier值是经由过程利用客户端中的网卡而天生的。
uniqueidentifier值一般不界说为常量。您能够按以下体例指定uniqueidentifier常量:
字符串格局:6F9619FF-8B86-D011-B42D-00C04FC964FF
二进制格局:0xff19966f868b11d0b42d00c04fc964ff
uniqueidentifier数据范例不会依照IDENTITY属性的体例为拔出的行主动天生新的ID。比方,若要猎取新的uniqueidentifier值,则表必需具有指定NEWID函数或NEWSEQUENTIALID函数的DEFAULT子句,或INSERT语句必需利用NEWID函数。
CREATETABLEMyUniqueTable
(UniqueColumnUNIQUEIDENTIFIERDEFAULTNEWID(),
CharactersVARCHAR(10))
GO
INSERTINTOMyUniqueTable(Characters)VALUES(uiok)
INSERTINTOMyUniqueTableVALUES(NEWID(),uiok)
GO
注重:
您可使用NEWSEQUENTIALID天生GUID以削减叶级别索引上的页争用。NEWSEQUENTIALID只能与uniqueidentifier范例的表列的DEFAULT束缚一同利用。
uniqueidentifier列中能够屡次呈现某个uniqueidentifier值,除非对该列也指定了UNIQUE或PRIMARYKEY束缚。当多个行援用源表中的统一个主键时,援用其他表中uniqueidentifier主键的外键列中能够屡次呈现各个uniqueidentifier值。
一个表能够有多个uniqueidentifier列。每一个表中能够指定一个具有ROWGUIDCOL属性的uniqueidentifier列。ROWGUIDCOL属性指明此列的uniqueidentifier值可独一地标识表中的行。可是,属性不会实行任何强迫完成独一性的操纵。必需利用其他机制强迫完成独一性,比方指定列的PRIMARYKEY束缚。ROWGUIDCOL属性次要用于MicrosoftSQLServer2005复制。具有更新定阅的兼并复制和事件复制利用uniqueidentifier列来确保在表的多个正本中独一地标识行。
uniqueidentifier数据范例具有以下弱点:
值长且难明。这利用户难以准确键进它们,而且更难记着。
这些值是随机的,并且它们不撑持任何使其对用户更成心义的形式。
也没有任何体例能够决意天生uniqueidentifier值的按次。它们不合用于那些依附递增的键值的现有使用程序。
当uniqueidentifier为16字节时,其数据范例比其他数据范例(比方4字节的整数)年夜。这意味着利用uniqueidentifier键天生索引的速率绝对慢于利用int键天生索引的速率。
在不请求全局独一性或首选利用顺次列增添的键时,请思索利用IDENTITY属性。


这能找出所有错误的99.99%。它不能找出的是仅仅涉及数据文件的损坏(这很不常见)。如果你想要检查一张表,你通常应该没有选项地运行myisamchk或用-s或--silent选项的任何一个。
柔情似水 该用户已被删除
7#
发表于 2015-3-20 17:25:24 | 只看该作者
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
爱飞 该用户已被删除
6#
发表于 2015-3-13 08:17:44 | 只看该作者
一个是把SQL语句写到客户端,可以使用DataSet进行加工;
愤怒的大鸟 该用户已被删除
5#
发表于 2015-3-6 20:27:46 | 只看该作者
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
海妖 该用户已被删除
地板
发表于 2015-2-21 15:31:32 | 只看该作者
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
因胸联盟 该用户已被删除
板凳
发表于 2015-2-1 16:49:07 | 只看该作者
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
沙发
发表于 2015-1-24 14:16:06 | 只看该作者
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
小魔女 该用户已被删除
楼主
发表于 2015-1-19 10:18:20 | 只看该作者
Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 04:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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