代码之家  ›  专栏  ›  技术社区  ›  TSCAmerica.com

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

  •  0
  • TSCAmerica.com  · 技术社区  · 7 年前

    我有一个 users id, username Id 是用主键自动递增的,我在考虑是否应该 username 也是主键。

    我还有一张桌子, audit_results 用户

    决定以下哪个关系(users表中有数百万个用户)更快(假设将来会有复杂的连接查询),决定因素是什么。

    1. audit_results.username (与用户名)或者
    2. audit_results.id (与用户id)

    使用varchar或int数据类型作为主键有什么区别吗?

    enter image description here

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  1
  •   Michał Turczyn    7 年前

    varchar(400) -多达400个字符,每个字符由一个字节(8位)表示,因此我们最多可以有3200位。

    int(11) -根据 this int 总是4个字节(32位)。

    连接时,SQL必须比较特定的值。