使用整数作为主键与使用字符串作为MySQL表中的主键的优缺点是什么

时间:2015-07-17 12:39:56

标签: mysql database

通常首选哪种数据类型?

我们大多使用整数作为主键的数据类型为什么?

2 个答案:

答案 0 :(得分:1)

整数通常更小,更易于使用,具有自然序列并且不会受到字符集转换的影响。我相信还有其他原因。

答案 1 :(得分:0)

嗯,原生大小的整数可能是任何环境中最优化的数据类型。因此比较,计算和排序等事情会很快。

整数本身也是顺序的。因此,生成一个新的很容易。 Other data types don't provide that

在更语义的意义上,它也是分离代表不同事物的不同数据元素的问题。在大多数情况下,主键是标识符。它应该这样做,识别记录。而已。试图将其与其他数据合并可能会导致问题。

例如,如果您有一个Person表,并希望将该人的姓名用作主键。当两个人姓名相同,或者一个人的名字发生变化,或者一个人有多个姓名等时,这会导致问题。

您可以要求其他值是唯一的,可以对数据元素设置约束等。但作为标识符,您只希望它做的是唯一标识记录。而且,根据系统的需要,整数或GUID完全能够做到这一点。