民间,
我有大约200万个资产,在给定的一天内发送15分钟的间隔数据(即)给定的一天总共96个间隔。什么是最好的数据库建模方法。我的目标RDBMS是Oracle。
我按周划分,每隔一段时间我需要存储间隔类型(INT_TYPE)(即实际或估计等),
选项 - 1在数据方面会过于深入。
选项 - 2可以最小化音量,但我如何在选项-2中建模列间隔类型?这样我们就可以捕获间隔类型??
- 选项1
CREATE TABLE TRANS.ASSET_DAILY_INT(
INT_READ_DT DATE NOT NULL,
ASSET_ID VARCHAR2(30) NOT NULL,
MINUTES NUMBER (2,0) NOT NULL,
INT_VALUE FLOAT(126) NOT NULL,
**INT_TYPE VARCHAR2(30) NOT NULL,**
ASSET_TYPE NUMBER(38,0),
INT_SUM_DAY_USG FLOAT(126),
HIGHEST_INT_DAY_USG FLOAT(126),
CREATED_DT DATE,
MODIFIED_DT DATE,
)
TABLESPACE TRANS
PARALLEL(DEGREE 4 INSTANCES 1)
PARTITION BY RANGE(MDM_READ_DT)
INTERVAL (NUMTODSINTERVAL(7,'DAY'))
(PARTITION p_first VALUES LESS THAN ('01-JAN-2010'));
- 选项2如何在Option-2中对列间隔类型建模?这样我们就可以捕获间隔类型??
CREATE TABLE TRANS.ASSET_DAILY_INT(
INT_READ_DT DATE NOT NULL,
ASSET_ID VARCHAR2(30) NOT NULL,
INT_VALUE_0000 FLOAT(126),
INT_VALUE_0015 FLOAT(126),
INT_VALUE_0030 FLOAT(126),
INT_VALUE_0045 FLOAT(126),
INT_VALUE_0100 FLOAT(126),
INT_VALUE_0115 FLOAT(126),
INT_VALUE_0130 FLOAT(126),
INT_VALUE_0145 FLOAT(126),
INT_VALUE_0200 FLOAT(126),
INT_VALUE_0215 FLOAT(126),
INT_VALUE_0230 FLOAT(126),
INT_VALUE_0245 FLOAT(126),
INT_VALUE_0300 FLOAT(126),
INT_VALUE_0315 FLOAT(126),
INT_VALUE_0330 FLOAT(126),
INT_VALUE_0345 FLOAT(126),
INT_VALUE_0400 FLOAT(126),
INT_VALUE_0415 FLOAT(126),
INT_VALUE_0430 FLOAT(126),
INT_VALUE_0445 FLOAT(126),
INT_VALUE_0500 FLOAT(126),
INT_VALUE_0515 FLOAT(126),
INT_VALUE_0530 FLOAT(126),
INT_VALUE_0545 FLOAT(126),
INT_VALUE_0600 FLOAT(126),
INT_VALUE_0615 FLOAT(126),
INT_VALUE_0630 FLOAT(126),
INT_VALUE_0645 FLOAT(126),
INT_VALUE_0700 FLOAT(126),
INT_VALUE_0715 FLOAT(126),
INT_VALUE_0730 FLOAT(126),
INT_VALUE_0745 FLOAT(126),
INT_VALUE_0800 FLOAT(126),
INT_VALUE_0815 FLOAT(126),
INT_VALUE_0830 FLOAT(126),
INT_VALUE_0845 FLOAT(126),
INT_VALUE_0900 FLOAT(126),
INT_VALUE_0915 FLOAT(126),
INT_VALUE_0930 FLOAT(126),
INT_VALUE_0945 FLOAT(126),
INT_VALUE_1000 FLOAT(126),
INT_VALUE_1015 FLOAT(126),
INT_VALUE_1030 FLOAT(126),
INT_VALUE_1045 FLOAT(126),
INT_VALUE_1100 FLOAT(126),
INT_VALUE_1115 FLOAT(126),
INT_VALUE_1130 FLOAT(126),
INT_VALUE_1145 FLOAT(126),
INT_VALUE_1200 FLOAT(126),
INT_VALUE_1215 FLOAT(126),
INT_VALUE_1230 FLOAT(126),
INT_VALUE_1245 FLOAT(126),
INT_VALUE_1300 FLOAT(126),
INT_VALUE_1315 FLOAT(126),
INT_VALUE_1330 FLOAT(126),
INT_VALUE_1345 FLOAT(126),
INT_VALUE_1400 FLOAT(126),
INT_VALUE_1415 FLOAT(126),
INT_VALUE_1430 FLOAT(126),
INT_VALUE_1445 FLOAT(126),
INT_VALUE_1500 FLOAT(126),
INT_VALUE_1515 FLOAT(126),
INT_VALUE_1530 FLOAT(126),
INT_VALUE_1545 FLOAT(126),
INT_VALUE_1600 FLOAT(126),
INT_VALUE_1615 FLOAT(126),
INT_VALUE_1630 FLOAT(126),
INT_VALUE_1645 FLOAT(126),
INT_VALUE_1700 FLOAT(126),
INT_VALUE_1715 FLOAT(126),
INT_VALUE_1730 FLOAT(126),
INT_VALUE_1745 FLOAT(126),
INT_VALUE_1800 FLOAT(126),
INT_VALUE_1815 FLOAT(126),
INT_VALUE_1830 FLOAT(126),
INT_VALUE_1845 FLOAT(126),
INT_VALUE_1900 FLOAT(126),
INT_VALUE_1915 FLOAT(126),
INT_VALUE_1930 FLOAT(126),
INT_VALUE_1945 FLOAT(126),
INT_VALUE_2000 FLOAT(126),
INT_VALUE_2015 FLOAT(126),
INT_VALUE_2030 FLOAT(126),
INT_VALUE_2045 FLOAT(126),
INT_VALUE_2100 FLOAT(126),
INT_VALUE_2115 FLOAT(126),
INT_VALUE_2130 FLOAT(126),
INT_VALUE_2145 FLOAT(126),
INT_VALUE_2200 FLOAT(126),
INT_VALUE_2215 FLOAT(126),
INT_VALUE_2230 FLOAT(126),
INT_VALUE_2245 FLOAT(126),
INT_VALUE_2300 FLOAT(126),
INT_VALUE_2315 FLOAT(126),
INT_VALUE_2330 FLOAT(126),
INT_VALUE_2345 FLOAT(126),
ASSET_TYPE NUMBER(38,0),
INT_SUM_DAY_USG FLOAT(126),
HIGHEST_INT_DAY_USG FLOAT(126),
CREATED_DT DATE,
MODIFIED_DT DATE,
)
TABLESPACE TRANS
PARALLEL(DEGREE 4 INSTANCES 1)
PARTITION BY RANGE(MDM_READ_DT)
INTERVAL (NUMTODSINTERVAL(7,'DAY'))
(PARTITION p_first VALUES LESS THAN ('01-JAN-2010'));