MySQL数据表中,用户id这样的自增字段,应该是数字型还是字符型?各有什么优缺点? 财富值72

2016-11-04 11:36发布

7872 8 6

如题,设计一张表,id这种自增字段该怎么选择类型?

自定义标题
段落格式
字体
字号
代码语言
8条回答
cyr00924 - 这个人很懒,什么都没留下
1楼 · 2016-11-04 12:24.采纳回答

数字型方便索引

76人赞 添加讨论(1) 举报

用自增的整数。

74人赞 添加讨论(0)举报

id一般来说不会是负数,所以用UNSIGNED
id相当于身份证,不应该也不能是NULL。
至于为什么是整数,和两个因素有关:

61人赞 添加讨论(0)举报

效率。

55人赞 添加讨论(0)举报
32人赞 添加讨论(0)举报

效率则和索引的结构有关,MySQL使用B+树作为索引的数据结构,如果使用自增整数的话,插入数据时最多只会引起节点的分裂,而使用字符串则有可能会插入到任何地方,这意味着可能会引起节点的移动和分裂。其次是在数据查询的时候,字符串的比较也要比整数的比较慢。

29人赞 添加讨论(0)举报

MySQL的AUTO_INCREMENT不支持字符型。
占用空间不用多说, INT类型固定只占用4个字节,能表示的范围达到了-2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) ,设为非负之后翻倍,而使用字符串想要表示这么大量的数据...

24人赞 添加讨论(0)举报

占用空间。

20人赞 添加讨论(0)举报

一周热门 更多>