zoukankan      html  css  js  c++  java
  • 数据库表主键的设计原则

        一个软件的设计,主键的产生原则是相当重要的,其系统性能与之息息相关。我自已设计过多个系统,在设计表主键的时候,用过很多种方式,现在设计的时候主要的一个原则是:性能尽可能的好,维护也尽可能的方便.

        目前,常用的数据库主键设计原则是:

        1):采用GUID作为主键,这种的优势就是全球唯一,无论是用数据库还是用代码,产生都很方便,维护很方便。但性能是最低的,使用的时候要注意.

        2):采用数据库自动增长的方式。这种方式性能好,产生也很方便。但是维护很麻烦。一般的话,这种主键用于一些特殊的表,比如说日志表,其不需要维护.

        3):采用int型作为主键,这种方式是性能好,产生也很方便,维护也方便,但是主键的不具有什么实在意义.

        4):采用自定义编号,性能一般,产生方便,维护一般。 为什么说维护一般呢?比如一个erp系统里面的商品编号,如果我在系统单据里面使用过,客户要求修改其商品编号,修改点就非常多。但是它又有一个很好的优点,可以让编号非常有意义,比如单据中的单据编号,可以按单据标识+日期来制定.

        总结一下,我个人的倾向设计是2,3,4结合。2用于一些特殊的表,4只用于单据,3用于基础数据。

        对于3,如果有用过Hibernate,可以用Table产生主键方式,不需要人工代码干预,这样省了很多的麻烦.

        这只是我的一些个人观点,欢迎讨论。

  • 相关阅读:
    用实例来说明linux命令sort的用法
    shell 编程入门
    VMware sphere的使用
    linux进阶
    Windows系统下的TCP参数优化
    RFID Technology(上)——简介、市场应用与前景、工作原理
    RFID Technology(下)——面临的风险、安全与隐私策略
    TCP连接的状态与关闭方式,及其对Server与Client的影响
    Java Map遍历方式的选择
    博客处女贴
  • 原文地址:https://www.cnblogs.com/mzhanker/p/2073503.html
Copyright © 2011-2022 走看看