惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
人人都是产品经理
人人都是产品经理
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
D
DataBreaches.Net
GbyAI
GbyAI
Microsoft Security Blog
Microsoft Security Blog
博客园_首页
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Engineering at Meta
Engineering at Meta
IT之家
IT之家
MongoDB | Blog
MongoDB | Blog
The GitHub Blog
The GitHub Blog
月光博客
月光博客
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
博客园 - 叶小钗
腾讯CDC
B
Blog RSS Feed
博客园 - Franky
爱范儿
爱范儿

博客园 - 电工男

关于电感,电抗器的Q值(品质因数) 好久不写博了. 精辟对联 escape、encodeURI 、encodeURIComponent 编码与解码 Content-Disposition中filename字段的字符编码技巧[转] 重载,继承,重写和多态的区别 webcast不更新了? sql server 日期类型 比较 IDENT_CURRENT、@@IDENTITY 和 SCOPE_IDENTITY 返回的标识值 SQL中判断字符串中包含字符的方法 ASP.NET生成的HTML代码 win7禁用休眠,献给c盘空间不足的朋友. SQLServer2005和2008的分页技术比较[转] 浏览器兼容性系列--浅谈window.attachEvent 在ASP.NET 的服务器端控件中有三种关于 ID 的属性 jQuery对<img>赋值 MVC JQuery 为<input>赋值 jquery怎么创建一个img标签 asp.net中弹出确认窗口(confirm),实现删除确认的功能
转! 主键的使用
电工男 · 2015-06-03 · via 博客园 - 电工男

一、产生Guid的方法

1、SqlServer中使用系统自带的NEWID函数: select NEWID()

2、C#中,使用Guid类型的NewGuid方法:

      Guid gid;
              gid = Guid.NewGuid();
              Console.WriteLine(gid);
              Console.WriteLine(Guid.NewGuid());

二、Guid与int自动增加作主键的优缺点

int自动增字段的优点:占用空间小、无需开发人员干预、易读;

  缺点:效率低,数据导入导出的时候很痛苦。

Guid的优点:效率高,数据导入导出方便;缺点是占用空间大,不易读。

业界主流倾向使用Guid作主键。因为主键一般不是给外人看的,而且现在硬盘空间越来越大,不在乎这一点空间。

========================================

优点是:
同 IDENTITY 列相比,uniqueidentifier 列可以通过 NewID() 函数提前得知新增加的行 ID,为应用程序的后续处理提供了很大方便。
便于数据库移植,其它数据库中并不一定具有 IDENTITY 列,而 Guid 列可以作为字符型列转换到其它数据库中,同时将应用程序中产生的 GUID 值存入数据库,它不会对原有数据带来影响。
便于数据库初始化,如果应用程序要加载一些初始数据, IDENTITY 列的处理方式就比较麻烦,而uniqueidentifier 列则无需任何处理,直接用 T-SQL 加载即可。
便于对某些对象或常量进行永久标识,如类的 ClassID,对象的实例标识,UDDI 中的联系人、服务接口、tModel标识定义等。

缺点是:
GUID 值较长,不容易记忆和输入,而且这个值是随机、无顺序的。
GUID 的值有 16 个字节,与其它那些诸如 4 字节的整数相比要相对大一些。这意味着如果在数据库中使用 uniqueidentifier 键,可能会带来两方面的消极影响:存储空间增大;索引时间较慢。