我试图从源表中提取数十亿条记录并将它们存储在多个目标表中,这些目标表将根据年份和季度进行存储。
我已经研究了分区目标表的选项,并意识到与在非分区表中存储数据相比,它占用更多空间。
我在分区表上运行的迁移与迁移之间的唯一区别是在非分区表上运行,后来只有少了三列。
运行相同查询后磁盘的大小如下
分区表上的迁移 - 9 TB 在多个非分区表上迁移 - 1 TB
有人可以告诉我,分区表是否会创建更大的足迹
查询
SELECT
fc.financialCollectionId,
fp.companyid,
fd.dataitemid,
di.dataitemname,
fd.dataitemvalue,
fu.unittypevalue,
fp.fiscalyear,
fp.fiscalquarter,
fi.periodenddate,
fi.filingdate,
rt.restatementtypename,
fi.latestforfinancialperiodflag,
fi.latestfilingforinstanceflag,
conv.currencyconversionflag,
cur.currencyname,
pt.periodtypename
from
ciqfinperiod fp
join ciqperiodtype pt on pt.periodtypeid = fp.periodtypeid
join ciqfininstance fi on fi.financialperiodid = fp.financialperiodid
left join ciqrestatementtype rt on rt.restatementtypeid = fi.restatementtypeid
join ciqfininstancetocollection ic on ic.financialinstanceid = fi.financialinstanceid
inner join ciqfincollection fc on fc.financialcollectionid = ic.financialcollectionid
inner join ciqfincollectiondata fd on
fd.financialcollectionid = fc.financialcollectionid
inner join ciqdataitemconversionrule conv on conv.dataitemid = fd.dataitemid
inner join ciqcurrency cur on cur.currencyid = fc.currencyid
inner join ciqdataitem di on di.dataitemid= fd.dataitemid
inner join ciqfinunittype fu on fu.unittypeid =fd.unittypeid
@maxFiscalQuarter
where year(fi.periodEndDate) >= 2000