为什么演示并行性的SQL代码示例会注释掉并行语句?

时间:2014-06-19 02:32:38

标签: sql oracle parallel-processing

在这个问题中Oracle: why doesn't use parallel execution?

以及此Oracle文档http://docs.oracle.com/cd/B10500_01/server.920/a96524/c20paral.htm#26156

他们正在准备一个像这样的并行声明:

SELECT /*+ PARALLEL(employees 4) PARALLEL(departments 4) USE_HASH(employees) 
ORDERED */
       MAX(salary), AVG(salary) 
FROM employees, departments
WHERE employees.department_id = departments.department_id 
GROUP BY employees.department_id; 

他们为什么要这样做?

1 个答案:

答案 0 :(得分:3)

Oracle 10 documentation对提示的语法最清楚:

  

提示语法

     

您可以通过封闭将SQL语句的提示发送到优化程序   他们在声明中发表评论。

原因很简单。提示附在注释中,因此如果SQL编译器无法识别它们,它们就会被忽略。对于不同版本的Oracle,情况也是如此。将代码移植到其他数据库也是如此。可以包含提示但代码仍然有效。