【发布时间】:2014-08-02 09:02:33
【问题描述】:
假设我有一个关系 Employee(...) ,它存储员工的信息,包括 id、姓名、薪水等。现在我想找到薪水大于所有员工平均薪水的所有员工。于是我写了如下SQL:
SELECT *
FROM employee
WHERE salary > (SELECT AVERAGE(salary) FROM employee)
一个问题在我脑海中反复出现是:嵌套的 SELECT 注释是否会被执行,以便对 Employee 关系的每个元组进行比较(即,如果我们在 Employee 中有 100 万个元组,那么这个嵌套块将被执行 100 万次),或者它只是执行了几次,然后结果将被缓冲以进一步比较更多的元组?
【问题讨论】:
标签: sql performance query-optimization