zoukankan      html  css  js  c++  java
  • 细分主键

      主键本身是很简单的,但是围绕他产生的故事就不是那么简单了。

    1、 管理

    这个是最重要的,没有规矩不成方圆,主键要如何管理一定要实现确定好了,甚至有必要为此写一个规范。比如是全公司采用相同的方式处理主键,还是根据项目、产品来各自管理?还是由项目组成员自行决定?这些都是需要实现说清楚的。

     

     

    2、 定义

    不是说“主键”这个词的定义,而是主键用什么,比如用GUID还是用int,还是年月日时分秒+流水?

     

    3、 生成

    主键用什么确定好了之后就是如何生成了。比如GUID,是在程序里生成,还是由数据库的字段默认值来生成?采用无序的GUID还有有序的GUID?再比如int,是采用MSSQL 的自增,还是自己管理。如果自己管理的话,那么是写一个存储过程还是在代码里面写个函数(类)?

     

    4、 安全

    1,2,3,4这种主键是否够安全?是不是因为不安全就不能用了?一定要改成GUID才行?那么改成GUID了,是否还需要进行安全判断?什么情况下可以用int,什么时候不能用(因为安全原因)?

     

    5、 效率

    主键要不要设置索引?聚集的还是非聚集的,还是不用索引?int的和GUID的效率到底差了多少?

     

    6、 移植

    要不要考虑数据库的移植,以后会不会更换数据库?换数据库了会不会崩溃?

     

    7、 数据合并

    几个分公司的数据需要合并到一起,主键是否会冲突(重复)?

     

     

    说这些的目的就是想让大家讨论的时候更明确一些,虽然我们都在讨论主键,但是这个范围也是很大的。

     

    欢迎大家继续补充。

     

     

  • 相关阅读:
    Mayan游戏 (codevs 1136)题解
    虫食算 (codevs 1064)题解
    靶形数独 (codevs 1174)题解
    黑白棋游戏 (codevs 2743)题解
    神经网络 (codevs 1088) 题解
    The Rotation Game (POJ 2286) 题解
    倒水问题 (codevs 1226) 题解
    银河英雄传说 (codevs 1540) 题解
    生日蛋糕 (codevs 1710) 题解
    第一章 1.11 高阶函数
  • 原文地址:https://www.cnblogs.com/jyk/p/1722025.html
Copyright © 2011-2022 走看看