如何衡量SQL select操作中将进行多少计算?

时间:2013-09-06 03:18:04

标签: sql

假设有一个包含10000条记录的user_profile表 一半的记录是女性用户(= 5000名女性用户)。

如果我发送查询“从user_profile中选择年龄(出生),性别='女性'”

年龄功能会执行多少次? 5000或10000次?

2 个答案:

答案 0 :(得分:1)

5000次。 WHERE子句消除了所有与'female'不匹配的子句,在剩余的结果中,将调用该函数。

执行顺序为

  1. FROM
  2. WHERE
  3. GROUP BY
  4. HAVING
  5. SELECT
  6. ORDER BY
  7. 正如您所看到的,在WHERE中将消除一半结果,并且在完成SELECT时您将拥有5000条记录。

答案 1 :(得分:1)

取决于数据库的实施。记住SQL是ANSI标准而不是产品。标准仅指定输入(您的sql语句)和输出。

对于大多数数据库而言,它将是5000倍,因为在不需要的行上浪费计算能力是愚蠢的。

首先选择(where子句),然后选择投影(你的select子句)。