从拥有5000万用户的SQL数据库中进行快速的用户名密码匹配[关闭]。

问题描述 投票:0回答:1

我正在研究如何快速地从我的sql数据库中匹配用户名和密码.我正在寻找facebookgoogletwitter如何能够让你在几秒钟内登录,在他们有数百万和数百万的使用时间.他们使用什么类型的算法? 为什么他们可以快速识别你已经输入了正确的用户名密码组合?以及为什么系统快速识别你已经输入了错误的密码username?他们使用的方法是什么?

sql performance passwords matching username
1个回答
3
投票

你通常会使用这样的查询。

select 1 from users where username = ? and password = ?

其中的问号代表查询的参数(你可能应该使用一些哈希机制来处理密码)。如果查询返回一些内容,那么你就知道凭证是正确的。如果没有返回任何行,则说明登录失败。

为了保证性能,你只需要在 users(username, password). 即使表中有几百万行,这应该是非常快的,因为数据库只需查看索引就可以执行查询。

© www.soinside.com 2019 - 2024. All rights reserved.