如何优化此选择查询

时间:2014-11-13 08:06:52

标签: oracle performance

您好我正在使用以下select查询,该查询根据单个条件从表中获取所有行。这就像我们正在进行的出口。这是查询。

Select emp_name, phone_number, emp_id from Employees where 
emp_dept = 100;

假设我在这里有数百万条记录并且我不允许创建任何临时表和索引,那么优化此查询的最佳方法是什么。请注意我需要表格的所有记录,所以过滤器实际上更少。

在学习Oracle的过程中。所以如果有任何错误,请告诉我。

感谢。

1 个答案:

答案 0 :(得分:1)

由于

  

我不允许创建任何临时表和索引

然后您的 only 选项似乎是并行运行:

select --+ parallel(E,16)
    emp_name, phone_number, emp_id
from employees E
where emp_dept = 100;

您的有用的选项取决于很多因素......

  • 要求您当地的DBA为您添加索引
  • 要求您的本地DBA为您重新组织表(分区,群集)
  • 要求您当地的DBA为您创建一个on-commit快速刷新的查询可重写mview
  • 要求贵公司为您购买Exadata机器