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版本也应该比较高些!