• Guid与id区别


    一、产生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 键,可能会带来两方面的消极影响:存储空间增大;索引时间较慢。

  • 相关阅读:
    LC.225. Implement Stack using Queues(using two queues)
    LC.232. Implement Queue using Stacks(use two stacks)
    sort numbers with two stacks(many duplicates)
    LC.154. Find Minimum in Rotated Sorted Array II
    LC.81. Search in Rotated Sorted Array II
    LC.35.Search Insert Position
    前后端分离:(一)
    Redis基本使用(一)
    GIT篇章(二)
    GIT篇章(一)
  • 原文地址:https://www.cnblogs.com/MichaelZhangX/p/2179184.html
Copyright © 2020-2023  润新知