语句如下:
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 数据怎么分布到多个服务器上
- 如何查询oracle10中的datafile名称和编号,tablespace名称和编号
- orcale日期转换问题
- 在存储过程中用SELECT INTO语句查询表时表为空要出错,如何解决
- 删除原表主键、字段,修改字段等SQL语句,只能执行一次,如何加入判断,让它更灵活?
- 把一个gb2312编码的oracle数据库倒入到utf-8的oracle数据库怎么做
- 高分求救!找叶子节点!
- 在数据库中插入完记录后如何取得自动编号的字段的值?
- 创建库的过程中出错(急),请专家指点
- 求救:sqlplus @test.sql 问题
- 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了