日期:2014-05-17  浏览次数:20864 次

3.7 亿条数据,如何处理.求教高手
表PRT_FINALECUSERS(该表3.7亿条数据) : 

create table PRT_FINALECUSERS 

  MSISDN VARCHAR2(15) not null, 
  STARTDATE VARCHAR2(8) not null, 
  ENDDATE VARCHAR2(8) not null, 
  ECCODE VARCHAR2(30) not null, 
  HOSTPROVCODE VARCHAR2(3) not null, 
  STATUS NUMBER(2) not null, 
  SUBSID NUMBER(10) not null 



表TEMPORDERTABLE(目前大概1000多条) 

create table TEMPORDERTABLE 

  ECCODE VARCHAR2(20), 
  ECNAME VARCHAR2(100), 
  SUBSID INTEGER 


目前还未做索引,这么大数据量不知如何做好.我想用以下的语句查询出数据: 

SELECT b.eccode,b.ecname,b.subsid,a.HOSTPROVCODE,count(*) 
FROM prt_finalecusers a 
INNER JOIN tempordertable b 
ON a.subsid=b.subsid 
GROUP BY 
b.eccode,b.ecname,b.subsid,a.HOSTPROVCODE 
ORDER BY 
b.subsid

------解决方案--------------------
表分区 索引
------解决方案--------------------
全表扫描,没有什么好建立.
如果只是针对这个,就在a.subid ,a.HOSTPROVCODE 上建立索引.
就是要建立,也不是那么容易的事情,ORACLE版本也应该比较高些!