日期:2014-05-16  浏览次数:20635 次

求一个高效的sql
现在有两张表,t1(a,b)t2(a,c,d,e,f,g,h,i)   t2.a是t1.a的外键
要按t1的数据统计t2的c,d,e的重复列,f,g,h,i的为空列
t1有五百多数据,t2是上千万条数据,如果用按每个字段统计的话开发机器上跑一遍需要大一个小时时间,又没有什么方法可以提高一下查询效率

------解决方案--------------------
参考 这个。。。。
Select a.Rowid
                          From emp a,
                               (Select Max(b.Rowid) Rowid1
                                  From emp b
                                 Group By b.empno,
                                          b.ename,
                                          b.job,
                                          b.mgr,
                                          b.hiredate,
                                          b.sal,
                                          b.comm,
                                          b.deptno) Bb
                         Where a.Rowid = Bb.Rowid1(+)
                           And Bb.Rowid1 Is Null
------解决方案--------------------
可以上语句  语句上面没优化  那就要考虑其他方面了 


--索引建立
create index index_t2_a on t2(a,c,d,e); 

------解决方案--------------------
引用:
引用:
到底要得到什么数据?请说得再详细些

按照t1分组,求同一组下面c,d,e的内容重复的列,f,g,h,i的内容为空列