select * from (select boss...... from .... where..... )
where boss=3000
其中(select boss...... from .... where..... )临时的表的记录只有20000多条,全部显示出来只要10秒。
按照道理,条件boss=?就是一个全表扫描,但是如果把最后的条件boss=3000改成别的值,查询很快就能返回,但是如果换成3000的话,查询就出不来,请问一般这是什么问题造成的,谢谢。
字体: 小 中 大 | 打印 发表于: 2008-7-23 14:49 作者: towerjt 来源: CNOUG博客首页
最新回复
wyjasba (2008-7-23 17:16:20)
索引情况
towerjt (2008-7-23 17:24:47)
hjwb1216 (2008-7-23 21:16:00)
你的boss上面是否有索引?如果有的话,字段类型是否说number型?再看看index的分析时间,如果数据过于成旧的话,把索引分析一把吧
philip_zhong (2008-7-24 17:52:04)
with tmp as
(select boss...... from .... where..... )
select * from tmp where boss=3000;