select bmmc,ysymc,g_gsmc,g_zq,sum(isnull(zcsr,0)) as zcsr,sum(isnull(sysr,0)) as sysr,count(g_id) as ps from v_zcxx_zqyjb where syzq<0 and sysr<>0 and g_ssbm='1002' group by bmmc,ysymc,g_gsmc,g_zq就这么个sql语句,可能大家会和我说,你是在调用视图v_zcxx_zqyjb,才会慢,并且也不妨告诉大家,这个v_zcxx_zqyjb里面的语句,还有视图(v_fpxx)的,但是这个sql语句,如果没有红色的g_ssbm='1002',这个条件,速度很快,一下子就出来了,数据量是1400多条,但是加了这条件,虽然数据量只有8条,但是速度很慢,要1分多钟,并且其他的group by 后面的关键字,做搜索条件,速度都是慢的,感觉是索引不起了任何效果,想问一下大家,有没有什么办法可以解决,希望高手指点,谢谢
去掉那个视图中的视图,
把需要引用的字段,直接写在本视图
答:我上次在客户那里也是你这个情况,就是g_ssbm和视图所嵌的视图有关
后来我把这个视图所嵌的视图中的语句直接写在当前视图后,问题就解决了