我有一张桌子:
ID(自动增量,整数),传递(char(5)),电子邮件(varchar(80))
设置用于:
为每个新用户添加行(高负载)。
更新帐户以添加电子邮件地址。
如果用户忘记了ID,他们可以输入他们的电子邮件地址并返回ID)
删除非常少(通常每周一次批量删除)。该比率约为70%插入,25%电子邮件更新,5%通过电子邮件地址搜索。
你认为什么样的结构最适合这个?
ID将成为主键,我是否应该将电子邮件设置为密钥?
答案 0 :(得分:0)
为了它的价值,我会选择InnoDB,以便获得行级锁定。如果WHERE子句中出现“email”,则应该出于性能原因对其进行最低限度的索引。
答案 1 :(得分:0)
5个char密码非常低,应该进行散列和盐渍,因此最终可能会产生32个字符 一封电子邮件可以超过80个字符。
索引电子邮件会加快电子邮件的搜索速度,但听起来似乎不会发生太大的差异