语句如下:
WITH g AS( select owner, steps from T1 ) SELECT g.Owner FROM g WHERE g.Steps = (SELECT MIN(Steps) FROM g)
with中的子查询很快,只有几条数据,<0.1秒,但是加了后面的语句,用来取出结果中最少的那个step所对应的用户,结果需要10秒左右,我不知道性能消耗在哪里?应该如何优化?
WITH g AS( select owner, steps from T1 ) SELECT g.Owner FROM g WHERE g.Steps = (SELECT MIN(Steps) FROM g)
with中的子查询很快,只有几条数据,<0.1秒,但是加了后面的语句,用来取出结果中最少的那个step所对应的用户,结果需要10秒左右,我不知道性能消耗在哪里?应该如何优化?
解决方案 »
- 创建了oracle 函数,但是在 plsql的function中找不到,数据库中也没有这函数。
- 大家知道oracle migration workblech 这么使用吗
- 麻烦各位前辈推荐几个新手入门的书,谢谢
- 如何知道数据库内容的变化?
- Oracle存储过程中如何定义数据参数?
- oracle多条记录合并一条问题
- oracle 行转列的问题
- 怎么在unix环境下执行sqlplus的后台脚本,屏蔽密码,不让其他用户ps看出来?
- 我的数据库不能启动!!!为什么?????????
- sqlserver存储过程转oralce存储过程的问题求助,在线等
- oracle 行转列问题
- oracle 计算 小时 分钟 秒
SELECT t1.Owner FROM t1 WHERE t1.Steps = (SELECT MIN(Steps) FROM t1)这好像没必要用with哈?
select *
from (select t1.Owner,
rank() over(order by t1.Steps) myrank
from t1) t
where t.myrank = 1
这样你试试。
我这里的子查询只是一个例子,实际上里面内容非常复杂,不然也不会用with了