假设有一个包含10000条记录的user_profile表 一半的记录是女性用户(= 5000名女性用户)。
如果我发送查询“从user_profile中选择年龄(出生),性别='女性'”
年龄功能会执行多少次? 5000或10000次?
答案 0 :(得分:1)
5000次。 WHERE子句消除了所有与'female'不匹配的子句,在剩余的结果中,将调用该函数。
执行顺序为
正如您所看到的,在WHERE中将消除一半结果,并且在完成SELECT时您将拥有5000条记录。
答案 1 :(得分:1)
取决于数据库的实施。记住SQL是ANSI标准而不是产品。标准仅指定输入(您的sql语句)和输出。
对于大多数数据库而言,它将是5000倍,因为在不需要的行上浪费计算能力是愚蠢的。
首先选择(where子句),然后选择投影(你的select子句)。