create or replace view unittrend as
( select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_0
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_1
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_2
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_3
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_4
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_5
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_6
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_7
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_8
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_9
)作者: jlandzpa 时间: 2004-5-10 15:51
先改成union all.作者: xyongxu 时间: 2004-5-10 16:04
能否说详细些吗?谢谢!作者: dlinger 时间: 2004-5-10 16:28
如果这些表你已知没有重复的数据需要筛选,将union
改成union all。
union 会导致排序,尤其你的结果集很大,会做disk sort。作者: xyongxu 时间: 2004-5-12 10:37
明白了,谢谢!作者: jenting 时间: 2004-5-13 14:53
如果對查詢資料即時性不那麼care,建議採用物化視圖(materiliazed view),可以讓user感受到大幅效能提升.作者: xyongxu 时间: 2004-5-14 09:43
採用物化視圖(materiliazed view),能否说详细些吗,应如何写sql 语句?谢谢!作者: jiang 时间: 2004-5-14 09:49
create or replace view unittrend as
( select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_0
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_1
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_2
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_3
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_4
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_5
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_6
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_7
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_8
union
select UNITID,TRENDINDEX,BEGINTIME,TRENDVALUE,LABEL from unittrend_9
)
象这种没有 where 条件, 若也没有重复的数据需要筛选, materiliazed view 还是不用的好作者: xjtwm 时间: 2004-5-14 10:21
I think you should use the partition table.作者: xyongxu 时间: 2004-5-14 10:28
每张表用BEGINTIME,UNITID建立了唯一性索引!10张表每条记录都不会重复!作者: xyongxu 时间: 2004-5-14 10:43
以前我也用一个表,分10个区,然后每天定时对该表的特定分区进行删除(在实时采集存储过程里),但删除过程太慢了,影响了实时采集存储过程的实时数据采集。作者: eygle 时间: 2004-5-14 11:14
why delete?
You can truncate partition.作者: xyongxu 时间: 2004-5-14 11:40
只是用delete 语句删除分区内容。805版能用truncate partition???能简单举例吗。作者: eygle 时间: 2004-5-14 11:49
ORACLE8的分区管理[zt]
--------------------------------------------------------------------------------
摘要:本篇文章介绍了ORACLE数据库的新特性—分区管理,并用例子说明使用方法。
关键词:ORACLE,分区
STEP1、DROP 分区:
ALTER TABLE sales
DROP PARTION sales1999_q1;
ALTER TABLE sales
DROP PARTION sales1999_q2;
ALTER TABLE sales
DROP PARTION sales1999_q3;
ALTER TABLE sales
DROP PARTION sales1999_q4;
STEP2、利用操作系统的工具删除以上表空间占用的文件(表空间基于裸设备无须次步),UNIX系统为例:
oracle$ rm /u1/oradata/sales/sales1999_q1.dat
oracle$ rm /u1/oradata/sales/sales1999_q2.dat
oracle$ rm /u1/oradata/sales/sales1999_q3.dat
oracle$ rm /u1/oradata/sales/sales1999_q4.dat
4 、分区的其他操作:
分区的其他操作包括截短分区(truncate),将存在的分区划分为多个分区(split),交换分区(exchange),重命名(rename),为分区建立索引等。DBA可以根据适当的情况使用。
以下仅说明分裂分区(split),例如该公司1999年第四季度销售明细数据急剧增加(因为庆国庆、迎千禧、贺回归),DBA向公司建议将第四季度的分区划分为两个分区,每个分区放两个月份的数据,操作如下:
STEP1、按(1)的方法建立两个分区的表空间ts_sales1999q4p1,
ts_sales1999q4p2;
STEP2、给表添加两个分区sales1999_q4_p1,sales1999_q4_p2;
STEP3、分裂分区:
ALTER TABLE sales
SPLIT PARTITON sales1999_q4
AT TO_DATE (‘1999-11-01’,’YYYY-MM-DD’)
INTO (partition sales1999_q4_p1, partition sales1999_q4_p2)