我想创建一个包含“电子邮件地址”和/或“用户名”字段的“用户”表,我是否还应该将“id”int usigned auto_increment
添加为primary key
?选择PRIMARY KEY
我在问,因为我已经看到一些教科书示例在这样的表中使用“id”字段与另一个unique
字段。
我想创建一个包含“电子邮件地址”和/或“用户名”字段的“用户”表,我是否还应该将“id”int usigned auto_increment
添加为primary key
?选择PRIMARY KEY
我在问,因为我已经看到一些教科书示例在这样的表中使用“id”字段与另一个unique
字段。
您应该使用userId
列,因为使用VARCHAR
索引表的列数据类型的性能会较差。使用INT
更好的性能。他们占用更少的空间,更重要的是他们比较快。可以在一个CPU指令中执行INT
比较。对于VARCHAR
s或CHAR
s,必须依次比较每个字符。这使得每个PK查找更快。如果你有连接表,每个连接选择都会查找PK。
你不需要,但我总是这样做。 – DickieBoy
根据您的应用程序,您可能不希望对电子邮件进行唯一限制。 – Kermit