请教一个关于查询速度的奇怪的问题

[复制链接]
查看11 | 回复4 | 2011-5-7 01:45:08 | 显示全部楼层 |阅读模式
09.12.2
今天遇到一个很奇怪的问题。
同事说系统运行很慢
检测截取语句:
select * from (
select * 。。。很长的一段
) a
where xx='1'
后发现只运行红色字部分很快就能查询出来,但是一加上where的条件,就半天没反应。
但是如果将条件改为where xx='2'就很快能运行。
测试时删除了xx='1'的数据,删除前通过create table备份的所有涉及到的表,
后来用insert select 将数据重新插入回去,发现语句可以运行了,速度也比较快。
---------
不知是何原因,也许是rowid的关系?还是索引?
请教各位?!
回复

使用道具 举报

千问 | 2011-5-7 01:45:08 | 显示全部楼层
得看执行计划
回复

使用道具 举报

千问 | 2011-5-7 01:45:08 | 显示全部楼层
有没有高手,请教一下
回复

使用道具 举报

千问 | 2011-5-7 01:45:08 | 显示全部楼层
子查询要创建临时表
回复

使用道具 举报

千问 | 2011-5-7 01:45:08 | 显示全部楼层
子查询要创建临时表?能解释下吗?不了解oracle创建临时表的过程是什么!谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行