Sql 使用创建视图和解释平面时出现问题
我想使用explain plan for测试此查询的效率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
(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
生成构建索引所需时间的估计值。(但它对创建视图不起作用,我同意即使它真的起作用也可能没有帮助。)