来自拥有 5000 万用户的 SQL 数据库的快速用户名密码匹配[关闭]
Posted
技术标签:
【中文标题】来自拥有 5000 万用户的 SQL 数据库的快速用户名密码匹配[关闭]【英文标题】:Fast username password matching from SQL database that has 50 million users [closed] 【发布时间】:2020-05-15 23:54:24 【问题描述】:我正在研究从我的 sql 数据库中匹配用户名和密码的速度。 我正在研究 facebook/google/twitter 如何让您在几秒钟内登录,而他们有数百万次使用。 他们使用什么类型的算法?为什么他们可以快速识别您输入了正确的用户名密码组合? 为什么系统会很快识别出您输入了错误的密码/用户名? 他们使用的方法是什么? 提前致谢。
【问题讨论】:
【参考方案1】:您通常会使用如下查询:
select 1 from users where username = ? and password = ?
问号代表查询参数的位置(您可能应该对密码使用某种散列机制)。如果查询返回某些内容,那么您就知道凭据是正常的。如果没有返回任何行,则登录失败。
为了性能,您只需要users(username, password)
上的索引。即使表中有几百万行,这也应该非常快,因为数据库可以仅通过查看索引来执行查询。
【讨论】:
以上是关于来自拥有 5000 万用户的 SQL 数据库的快速用户名密码匹配[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 AWS 快速对 100 亿行 SQL 表进行分区?
Chrome曾冲击7天5000万活跃用户,最后失败......
极客日报:HarmonyOS 2.0用户数升至5000万;腾讯起诉抖音侵权《王者荣耀》,获赔60万?抖音:没侵权,已上诉!