select a.MATERIAL as r,count(*) as c from TZ a,YW b where a.gjz=b.gjz and a.MATERIAL!=' ' group by a.MATERIALTZ 表 大概有 几十万条数据
YW 表 大概有 几万条数据两个表连接查询后大概有几万条数据现在的问题是 要对多表中的一个字段分组,速度很慢是什么原因?
或者有没什么更好的写法?大牛们!~~~~~请指教

解决方案 »

  1.   

    创建索引速度会快很多,最好是以int 型的字段做为索引列.如果你的结贴率再低点的话估计你给100分都没有人来回答你的问题了
      

  2.   


    呵呵是的,如果字段为int型是快很多的,但是现在时字符型的,不知道这么搞的很慢
      

  3.   

    再修改一下语句
    select a.MATERIAL as r,count(*) as c from TZ a 
    where exists(select 1 from YW b where a.gjz=b.gjz) and a.MATERIAL!=' '  group by a.MATERIAL
      

  4.   

    select a.MATERIAL as r,count(换一个表的字段) as c from TZ a,YW b where a.MATERIAL is not null and a.gjz=b.gjz  group by a.MATERIAL这样试试,最后看看执行计划