Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用创建视图和解释平面时出现问题_Sql_Oracle - Fatal编程技术网

Sql 使用创建视图和解释平面时出现问题

Sql 使用创建视图和解释平面时出现问题,sql,oracle,Sql,Oracle,我想使用explain plan for测试此查询的效率 EXPLAIN PLAN FOR (CREATE VIEW TOPTEAM AS SELECT T1.Team TEAMS, COUNT(*) TIMES FROM TeamsDivision T1 WHERE (P1.Division = 1 AND (2 = (SELECT T2.Division FROM TeamsDivision T2

我想使用explain plan for测试此查询的效率

EXPLAIN PLAN FOR
(CREATE VIEW TOPTEAM AS  
    SELECT T1.Team TEAMS, COUNT(*) TIMES 
    FROM TeamsDivision T1
    WHERE (P1.Division = 1 AND
          (2 = (SELECT T2.Division
                FROM TeamsDivision T2
                WHERE (T2.Team = T1.Team AND T2.Season = (T1.Season + 1) )))
    )
    GROUP BY T1.Team     
    ORDER BY TIMES DESC;

SELECT TEAMS, TIMES 
FROM  TOPTEAM
WHERE ROWNUM < 6;

DROP VIEW TOPTEAM);

SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY());

我在没有创建视图的查询上使用了explain plan,它们工作正常。我不知道是什么原因导致了这个错误,我尝试过改变括号,但是我得到了同样的错误。它唯一起作用的时候是我在选择团队之前先解释计划。谢谢大家!

解释计划的文件说明

EXPLAIN PLAN语句显示优化器执行的执行计划 选择SELECT、UPDATE、INSERT和DELETE语句

资料来源:

您可能可以找出
CREATE VIEW
语句的执行计划,但这将是无趣的。只会检查查询的语法,您对表的访问权限以及查询将存储在
USER\u视图中

我猜您想知道的是查询本身的性能。你会和我一起做的

EXPLAIN PLAN FOR
SELECT TEAMS, TIMES 
  FROM TOPTEAM
 WHERE ROWNUM < 6;
EXPLAIN计划
选择团队、时间
来自顶级团队
其中ROWNUM<6;

解释计划的文件说明

EXPLAIN PLAN语句显示优化器执行的执行计划 选择SELECT、UPDATE、INSERT和DELETE语句

资料来源:

您可能可以找出
CREATE VIEW
语句的执行计划,但这将是无趣的。只会检查查询的语法,您对表的访问权限以及查询将存储在
USER\u视图中

我猜您想知道的是查询本身的性能。你会和我一起做的

EXPLAIN PLAN FOR
SELECT TEAMS, TIMES 
  FROM TOPTEAM
 WHERE ROWNUM < 6;
EXPLAIN计划
选择团队、时间
来自顶级团队
其中ROWNUM<6;

好的,非常感谢!!我很高兴听到这个消息,但这不是必要的,也不是关于stackoverflow的惯例。但是,您可以选择接受一个答案,以便其他人知道它解决了您的问题:《SQL调优指南》在这里并不完全准确-
EXPLAIN PLAN
可以处理一些DDL语句。例如,在中,我使用
EXPLAIN PLAN
生成构建索引所需时间的估计值。(但它不适用于
创建视图
,我同意,即使它确实有效,也可能没有帮助。)好的,非常感谢!!我很高兴听到这个消息,但这不是必要的,也不是关于stackoverflow的惯例。但是,您可以选择接受一个答案,以便其他人知道它解决了您的问题:《SQL调优指南》在这里并不完全准确-
EXPLAIN PLAN
可以处理一些DDL语句。例如,在中,我使用
EXPLAIN PLAN
生成构建索引所需时间的估计值。(但它对
创建视图
不起作用,我同意即使它真的起作用也可能没有帮助。)