在数据库开发中,数据表的主键是一个非常重要的字段,它决定该表的数据唯一性,以及和其它表建立联系的一个桥梁。
现在关于定义表主键的数据类型的时候基本分为两大类型:自增字段,以及字符编码。问问大家,这两种方法,你更喜欢那种,各有什么利弊?
我的观点:
自增字段的优点,数据库自行维护,在通过外键关联的时候,不存在修改主键值的问题,不需要级联更新,减轻数据级联更新负担。字段为数字型,节约数据库数据空间。
缺点,三层开发的时候维护自增字段,有一定难度,该字段在数据库开发的时候,可能会增加某些编程难度。
字符编码优点,直观,容易理解,自行控制比较方便。
缺点,修改该主键字段,副表需级联更新,数据大的情况下,数据库负担很重,字段长度比较长,当多个表关联该主键的时候,数据空间浪费大。
现在关于定义表主键的数据类型的时候基本分为两大类型:自增字段,以及字符编码。问问大家,这两种方法,你更喜欢那种,各有什么利弊?
我的观点:
自增字段的优点,数据库自行维护,在通过外键关联的时候,不存在修改主键值的问题,不需要级联更新,减轻数据级联更新负担。字段为数字型,节约数据库数据空间。
缺点,三层开发的时候维护自增字段,有一定难度,该字段在数据库开发的时候,可能会增加某些编程难度。
字符编码优点,直观,容易理解,自行控制比较方便。
缺点,修改该主键字段,副表需级联更新,数据大的情况下,数据库负担很重,字段长度比较长,当多个表关联该主键的时候,数据空间浪费大。
解决方案 »
- MFC OPENGL 怎么拖动图像以及实现图像的大小缩放
- 用source如何写使spin control与edit control绑定?
- 如何获得.torrent文件中的hash值呀?
- ******网络超时,InternetException,判定HTML*******
- 在vb里调用我动态库的一个函数,结果发现在动态库中的局部变量未被正确初始化,这是为什么呢?其它语言都正常。
- 如何在工具栏里添加一个下拉菜单?向各位能人请教。
- #import还能用吗?
- 我是新手.谁能介绍一些精典网站?
- 谁能用系统HOOK 截获DeleteFile,给出源代码 就可以获得 340分 在另外2个帖子里
- link 时的问题
- 关于BMP的问题
- 我在VC++版的第一个贴子(对于学习VC++的一点迷茫,请各位前辈指点,送100分)
GUID是128位的数据,如果根据网卡ID和时间来生成这个ID的话,一百年之内不会有重复的ID
太长了,如果你的表中有100万条记录,那它需要多增加多少数据库空间,还要把它的索引空间考虑进去。适合记录少的情况下。