热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

大讨论:关于自增字段做主键,和字符编码作主键的利弊!

在数据库开发中,数据表的主键是一个非常重要的字段,它决定该表的数据唯一性,以及和其它表建立联系的一个桥梁。现在关于定义表主键的数据类型的时候基本分为两大类型:自增字段,以及字符编码。问问大
在数据库开发中,数据表的主键是一个非常重要的字段,它决定该表的数据唯一性,以及和其它表建立联系的一个桥梁。
    现在关于定义表主键的数据类型的时候基本分为两大类型:自增字段,以及字符编码。问问大家,这两种方法,你更喜欢那种,各有什么利弊?
    我的观点:
    自增字段的优点,数据库自行维护,在通过外键关联的时候,不存在修改主键值的问题,不需要级联更新,减轻数据级联更新负担。字段为数字型,节约数据库数据空间。
    缺点,三层开发的时候维护自增字段,有一定难度,该字段在数据库开发的时候,可能会增加某些编程难度。
    字符编码优点,直观,容易理解,自行控制比较方便。
    缺点,修改该主键字段,副表需级联更新,数据大的情况下,数据库负担很重,字段长度比较长,当多个表关联该主键的时候,数据空间浪费大。

8 个解决方案

#1


现在你可以用GUID子端来作为主键。
GUID是128位的数据,如果根据网卡ID和时间来生成这个ID的话,一百年之内不会有重复的ID

#2


好主意!

#3


自增字段好象好些,由数据库自己维护了,开发的时候如果用ADO,也很方便的.

#4


自增字段好象好些,由数据库自己维护了,开发的时候如果用ADO,也很方便的.

#5


长见识!

#6


自增字段好象好些,由数据库自己维护了,开发的时候如果用ADO,也很方便的.

#7


自增字段好象好些,由数据库自己维护了,开发的时候如果用ADO,也很方便的.

#8


GUID是目前主键的新方法,但不是每个地方适用,关键在于它128位长,
太长了,如果你的表中有100万条记录,那它需要多增加多少数据库空间,还要把它的索引空间考虑进去。适合记录少的情况下。

推荐阅读
author-avatar
顽石1129_659
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有