首页 > 其他 > 详细

GUID基础

时间:2014-03-31 06:14:19      阅读:499      评论:0      收藏:0      [点我收藏+]

         在选课系统中,第一次接触“GUID”。刚开始的时候一直犯嘀咕,它是什么东东呢?带着疑问上网查了一下,接下来就和大家分享一下:

简介

      全局唯一标识符(Global unique identifier),简称GUID,是一种由算法生成的唯一标识。GUID的主要目的是产生完全唯一的数字。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。随机生成两个相同GUID的可能性是非常小的,但并不为0。所以,用于生成GUID的算法通常都加入了非随机的参数(如时间),以保证这种重复的情况不会发生。

格式

         GUID的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个32位十六进制数。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF即为有效的GUID

优点

           1、同 IDENTITY列相比,uniqueidentifier 列可以通过 NewID() 函数提前得知新增加的行 ID,为应用程序的后续处理提供了很大方便。

         2、便于数据库移植,其它数据库中并不一定具有IDENTITY 列,而 GUID 列可以作为字符型列转换到其它数据库中,同时将应用程序中产生的 GUID 值存入数据库,它不会对原有数据带来影响。

         3、便于数据库初始化,如果应用程序要加载一些初始数据,IDENTITY 列的处理方式就比较麻烦,而 uniqueidentifier 列则无需任何处理,直接用 T-SQL 加载即可。

         4、便于对某些对象或常量进行永久标识,如类的ClassID,对象的实例标识,UDDI 中的联系人、服务接口、tModel标识定义等。

 缺点

          1、GUID值较长,不容易记忆和输入,而且这个值是随机、无顺序的。

         2、GUID 的值有 16个字节,与其它那些诸如 4 字节的整数相比要相对大一些。这意味着如果在数据库中使用 uniqueidentifier键,可能会带来两方面的消极影响:存储空间增大;索引时间较慢。

         3 、生成GUID的算法用到了以太网卡地址、纳秒级时间、芯片ID和许多可能的数字,结果长达128位...从理论上讲它还是不能保证唯一,但由于重复的可能性非常非常非常...非常小,近似于对在同一时空中的所有机器都是唯一的...

 在.Net中的应用

   GUID 在.NET 中使用非常广泛,而且.NET Framework 提供了专门 Guid 基础结构。

Guid 结构的常用法包括:

    1、Guid.NewGUID()生成一个新的 GUID 唯一值 

    2、Guid.ToString()GUID 值转换成字符串,便于处理

    3、构造函数Guid(string)string 生成Guid 结构,其中string 可以为大写,也可以为小写,可以包含两端的定界符“{}”或“()”,甚至可以省略中间的“-”,Guid 结构的构造函数有很多,其它构造用法并不常用。

       以上就是对GUID的简单了解,在接下来的学习中会慢慢深入,加油!

GUID基础,布布扣,bubuko.com

GUID基础

原文:http://blog.csdn.net/liu_yujie2011com/article/details/22602817

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!