mysql表之间的关系-一个决定因素

zhte4eai  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(254)

我有一个 users 包含以下字段的表, id, username 是的 Id 是用主键自动递增的,我在想我是否应该 username 作为主键。
我还有一张table, audit_results 将用户名作为 users table
决定下列哪种关系(users表中将有数百万个用户)更快的决定因素是什么(假设将来会有复杂的连接查询)。 audit_results.username (与user.username相关)或 audit_results.id (与user.id相关)
使用varchar或int datatype作为主键有什么区别吗?

1yjd4xko

1yjd4xko1#

varchar(400) -最多400个字符,每个字符由一个字节(8位)表示,因此最多可以有3200位。 int(11) -根据这个, int 总是四个字节(32位)。
加入时,sql必须比较特定的值。
我认为很明显,一般来说哪一个会执行得更快(有多少位可以比较)。

相关问题