我想创建一个“用户”表格,其中包含“电子邮件地址”和/或“userName”unique
字段,我还应该将“id”int usigned auto_increment
添加为{{{ 1}}或不?
我问,因为我看到一些教科书示例在这样一个表中使用“id”字段,而另一个primary key
字段。
答案 0 :(得分:4)
是的,这是最好的做法。
答案 1 :(得分:1)
您应该使用userId
列,因为使用VARCHAR
列数据类型对您的表进行索引会降低性能。
使用INT
更有利于提高性能。它们占用的空间更少,更重要的是它们比较快。
可以在一条CPU指令中执行INT
比较。对于VARCHAR
或CHAR
s,必须依次比较每个字符。这使得每次PK查找更快。如果您有连接表,则每个连接选择都将查找PK。