• 转! 主键的使用


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

  • 相关阅读:
    Android零基础入门第34节:Android中基于监听的事件处理
    【洛谷】3953:逛公园【反向最短路】【记忆化搜索(DP)统计方案】
    【洛谷】1608:路径统计 1144:最短路计数
    【洛谷】1081:跑路【倍增】【最短路】
    照着例子学习protobuf-python
    NodeJs与ActionScript的GET和POST通讯
    编程语言应用领域(转)
    我是C#上层转到嵌入式和单片机的
    转发一位老师的文章,希望能给你带来帮助
    沈逸的IT专栏博客记录
  • 原文地址:https://www.cnblogs.com/feb9903/p/4548296.html
Copyright © 2020-2023  润新知