用户名/密码在单独的表或用户表中?
我正在运行一个社交网站,目前用户表中拥有大多数主要用户数据(真实姓名、用户名、电子邮件、密码、性别等)。从设计角度来看,将用户名+密码移动到单独的表中是否会提高性能?
我正在使用mysql。
i'm running a social network site and i currently have most main user data (real name, username, email, password, gender, etc) in a user table. Design-wise, would there be an performance improvement in moving the username+password to a separate table ?
I'm using mysql.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于表的大小较小,仅需要用户名和密码的身份验证查询运行速度会稍快一些。
但是,如果您在
(username,password_hash)
上创建复合索引,速度会更快,因为像这样的查询:只需要索引即可运行(它将显示
using index
在计划中)。Authentication queries which only need username and password will run slightly faster, due to the smaller size of the table.
However, if you create a composite index on
(username, password_hash)
, it will be even faster, since the queries like this:will only need the index to run (it will show
using index
in the plan).