`
wx1568444409
  • 浏览: 14552 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Guid算法与标识列(自动增长字段)在表中的应用

 
阅读更多

<<1>>int(bigint)+标识列(自动增长字段)
用标识列实现字段自增可以避免并发等问题。不需开发人员自己控制自增,用标识列的字段在Insert的时候不用指定主键的值。将字段的“是标识列”设置为“是”,一个表只能有一个标识列。
<<2>>uniqueiclentifier(又称Guid,UUID)
Guid算法是一种可以产生无重复的唯一标识的高效算法。它使用网卡MAC,IP地址,纳秒级时间,芯片id码等算出来。保证每次产生的不相同,无论是同一台或不是同一台计算机产生的数都是不一样的。

&比较&:
自增字段: /优点:占用空间小,,无需干预,易读。
缺点:数据导入导出效率低,不易。
Guid算法: /优点:效率高,导入导出快。
/缺点:占用空间大,不易读。
业界主流为Guid。
*********在SQL中的用例********

*********在VS2013中的用例*******
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Guid id = Guid.NewGuid();
Console.WriteLine(id);
Console.ReadKey();
}
}
}
可以将Guid看为一个类来使用,呈现结果为

其实如果我们在使用的时候,为了避免重复,出现不必要的错误。就可以使用Guid算法。在表中我们可以那样使用,这样就实现了智能化的出现序号,若是怕重复,则使用guid算法,来显示独一无二的编号。

转载于:https://my.oschina.net/Andyahui/blog/611577

分享到:
评论

相关推荐

    sql主键产生器

    2. **自动增长(Auto Increment)/标识列(Identity Column)**:在MySQL、SQL Server和PostgreSQL等数据库中,可以设置某列为主键并指定其为自动增长。每当插入新行时,数据库会自动为该列提供一个新的唯一值。 3....

    数据库主键生成资料资源

    数据库主键是数据库设计中的核心概念,它是表中一列或多列的组合,用于唯一地标识每一行数据,确保数据的唯一性和完整性。在数据库系统中,主键扮演着至关重要的角色,它不仅用于区分不同记录,还在建立表间关联时...

    细聊分布式ID生成方法.pdf

    - **主键(Primary Key)**:用于唯一标识数据库表中的每一行记录的一个或多个字段的组合。 #### 三、分布式ID生成方法 针对不同的应用场景,本文介绍了几种常见的分布式ID生成方案。 ##### 3.1 消息ID(Message-...

    nhibernate reference

    - **5.1.4.5 GUID 算法**:与 UUID 类似,但生成的是 GUID 字符串。 - **5.1.4.6 身份列和序列**:适用于支持自动递增字段的数据库。 - **5.1.4.7 分配标识符**:手动为实体分配主键值。 - **5.1.5 composite-id...

    nhibernate2.1.2帮助

    - **自动增长列和序列**:适用于支持自动增长列或序列的数据库系统。 - **分配标识**:手动分配主键值。 - **复合主键**:composite-id元素用于定义复合主键。 - **鉴别器**:discriminator元素用于区分继承体系中...

    NHibernate Documentation

    GUID算法也是一种生成唯一标识符的方法。 #### 5.1.4.6. 身份列和序列 身份列和序列是数据库特有的主键生成策略。 #### 5.1.4.7. 分配标识符 分配标识符允许显式地为实体分配主键值。 #### 5.1.5. composite-id...

    数据库主键的设计和思考

    数据库主键设计是数据库设计中的核心部分,主键是用来唯一标识一条记录的字段,它确保了数据的唯一性和完整性。本文主要讨论了两种常见的主键设计策略:自增主键和GUID主键。 首先,自增主键是利用数据库系统提供的...

    SQL学习笔记一SQL基础知识

    - 标识规范(Identity Specification)允许数据库自动生成主键的值,只需将字段设置为标识列。 - `uniqueidentifier`使用Guid(全局唯一标识符)算法生成唯一值。在.NET中,可通过`Guid.NewGuid()`生成Guid;在SQL...

    深入理解hibernate映射文件

    在这个例子中,`News`类的`title`和`content`属性分别映射到`news_title`和`news_content`两个数据库字段上。这样就完成了对象与数据库表之间基本的属性映射。 总之,Hibernate映射文件是实现对象关系映射的核心...

    oracle 10g concepts

    - **5.10 应用域索引纵览:** 应用域索引是在特定应用上下文中使用的索引类型,它可以提供更好的性能优化。 - **5.11 集群纵览:** 集群是一种将相关表存储在一起的技术,可以减少I/O操作,提高查询性能。 - **5.12 ...

    BOM汇总的代码.txt

    在制造业中,BOM(Bill of Materials)指的是物料清单,它列出了制造最终产品所需的所有原材料、零件、组件和子装配体的信息。BOM 在产品的设计、生产、销售等各个环节都扮演着非常重要的角色。对于采购管理来说,...

    C#编程经验技巧宝典

    112 &lt;br&gt;0188 如何在ASP.NET中显示当前IE浏览器头信息 113 &lt;br&gt;5.6 其他应用技巧 114 &lt;br&gt;0189 如何判断年份是否为闰年 114 &lt;br&gt;0190 如何根据年份判断十二生肖 114 &lt;br&gt;0191 如何根据IP...

Global site tag (gtag.js) - Google Analytics