exists 在v10上的效率问题
完全相同的表同样的数据,为什么原来我在9上跑的没问题的sql语句,很简单的类似 select * from tb a where col in (select col from tb_b) ;怎么现在在10上这么慢啊,完全无法运行了,是不是10上exists的使用有什么限制啊回复 #1 joneyzhou 的帖子
不会是update statistics没有做吧? 统计更新 没操作吧 不是啊,我试过更新表统计信息了,还是不行。我试着建了张空表 tmp_1 (col1 char(1), col2 char(1));select * from test a where exists (select 'x' from tmp_1 b where a.col1=b.col1 and a.col2=b.col2);
由于tmp_1是空表,应该一运行就出结果才对
test里面也就几十万数据,居然运行好几分钟没反应。。。
回复 #4 joneyzhou 的帖子
统计更新级别,索引,数据库存储方式也和查询效率有关系的 哦,发现一个不是办法的办法,tmp_1是临时表的话就会很慢,我将tmp_1建成物理表,很快了,这是为啥呢,临时表应该更快才是
页:
[1]