"select * from tb_user where username='{0}' and userpwd='{1}'", username, userpwd
SQL数据库中查询数据根据以上代码是先查询完username然后在查询userpwd吗?还是同时查询...
SQL数据库中查询数据根据以上代码是先查询完username然后在查询userpwd吗?还是同时查询
展开
2个回答
展开全部
可以理解为同时
sql查询的时候是行扫描,行扫的时候username password不一定,sql扫描的时候有个优化机制的,它会自动选择哪个最优,所以可能为username可能为password
但是按照常理,大部分情况都是先扫描username,因为同名username几率比较小。
sql查询的时候是行扫描,行扫的时候username password不一定,sql扫描的时候有个优化机制的,它会自动选择哪个最优,所以可能为username可能为password
但是按照常理,大部分情况都是先扫描username,因为同名username几率比较小。
更多追问追答
追问
如果是分先后的话比如说:用户名mm与密码mmsoft对应,用户名aa与密码aasoft对应,但是在登录时我输入的是:mm aasoft他们都在数据库中,先扫描username的话扫描到了mm然后扫描userpwd的话扫描到了aasoft,但是mm与aaoft并不是对应关系。不知道我这样说能不能理解
追答
mm mmsoft
aa aasoft
输入mm aasoft
优化器优化后可能先查询user字段
扫描第一行的时候,发现user = mm符合,然后扫描该行pwd 发现不等于aasoft,舍弃该行,不放入结果集
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询