Master表字段扩张时的对应方法

如果Master表的数据量很大,Master表中的列,宽度扩张了,MVIEW表如何对应处理?

此时,重建MVIEW可能会耗费很长的时间。

可以采用 alter materialized view modify 的方式来进行。不过,没有官方文档支持。

create table TEST(id integer, TEST_NUMBER NUMBER(18,6));

insert into TEST
 select i+j, i+j
   from  (
          with DATA2(j) as (
                            select 0 j from DUAL
                              union all
                            select j+1000 from DATA2 where j < 999000
                           )
          select j from DATA2
         ),
         (
          with DATA1(i) as (
                            select 1 i from DUAL
                              union all
                            select i+1 from DATA1 where i < 1000
                           )
          select i from DATA1
         );

ALTER TABLE TEST ADD CONSTRAINT PK_TEST PRIMARY KEY(ID);
CREATE MATERIALIZED VIEW LOG ON TEST;
CREATE MATERIALIZED VIEW MV_TEST REFRESH FAST AS SELECT * FROM TEST;

set timing on

如果Master表的字段扩张了 ,可以在MVIEW对应的字段也扩张:

SQL> ALTER MATERIALIZED VIEW MV_TEST MODIFY (TEST_NUMBER NUMBER(22,6));
time elapsed: 00:00:00.08

扩张后确认:
SQL> exec dbms_mview.refresh('MV_TEST');
SQL> exec dbms_mview.refresh('MV_TEST','C');

[Oracle]Master表字段扩张时的对应方法的更多相关文章

  1. Oracle更新表字段时内容中含有特殊字符&的解决方法

    今天在做 Oracle表字段更新时出现了特殊字符&,导致无法更新. 这个问题是第二次碰到了,所以在此记录下,以备后用. 举例: update t set col1='A&B' wher ...

  2. ORACLE修改表字段顺序

    1.若'GYZL_BZPWL_TB' 为要修改的表名,注意表名一定要大写!此句可以获取表的id.select object_id from all_objects where object_name= ...

  3. oracle建表字段包含关键字注意事项

    SQL建表时最好不要把表定义成关键字字段 1 若不小心把表定义成关键字了,比如option, desc等等,oracle版本查询会有问题,短期内无法修改字段名称的,暂时用字段名+双引号解决: SELE ...

  4. oracle修改表字段名时报错:ORA-00054:资源正忙,但指定以NOWAIT方式获取资源,或者超时失效的问题

    打开sql plus select session_id from v$locked_object;查询出oracle锁定的会话ID SELECT sid, serial#, username, os ...

  5. oracle添加表字段跟修改表字段属性

    添加字段 alter table mid_contactinfo add(status varchar(20),createdate varchar(50),modifydate varchar(50 ...

  6. oracle获取表字段属性

    select b.COMMENTS,a.COLUMN_NAME,a.DATA_TYPE,a.DATA_LENGTH, a.DATA_PRECISION,a.DATA_SCALE,a.NULLABLE, ...

  7. Oracle修改表字段类型(number-->varchar2(len)),亲测可用

    思路: --新建临时表以存储正确的顺序create table A_2 as select (column1,colum2,……A表中的顺序) from A_1 ; --删除表A_1drop tabl ...

  8. ORACLE 按表字段值的不同统计数量

    select p.id comperitorId,p.compcorp competitorName, sum(case when c.kindname = 'ATM' then c.num else ...

  9. Oracle数据表字段小写转大写

    BEGIN FOR c IN ( SELECT COLUMN_NAME cn FROM all_tab_columns WHERE table_name = '表名' ) loop BEGIN exe ...

随机推荐

  1. Collections工具类

    Collections 是一个操作 Set.List 和 Map 等集合的工具类. Collections 中提供了一系列静态的方法对集合元素进行排序.查询和修改等操作,还提供了对集合对象设置不可变. ...

  2. 【Java入门提高篇】Day28 Java容器类详解(十)LinkedHashMap详解

    今天来介绍一下容器类中的另一个哈希表———>LinkedHashMap.这是HashMap的关门弟子,直接继承了HashMap的衣钵,所以拥有HashMap的全部特性,并青出于蓝而胜于蓝,有着一 ...

  3. HttpClient与浏览器调用服务接口差异

    我用httpclient访问接口,统计图有些不均匀,差距较大 ,有时只有几十毫秒,下图看到这种情况占多数,600-800毫秒之间的算是浏览器正常的产生调用接口的时间耗时 然后用jmeter跑时都是均值 ...

  4. 使用sklearn机器学习库实现线性回归

    import numpy as np  # 导入科学技术框架import matplotlib.pyplot as plt  # 导入画图工具from sklearn.linear_model imp ...

  5. MVC model验证 获取验证错误信息

    public static class ModelStateExtensions { /// <summary> /// 获取model验证错误信息 /// </summary> ...

  6. [cb]SceneView 获取鼠标位置

    扩展需求 在Scene视图中获取鼠标的位置 Demo 在Scene视图中,当鼠标点击时实例化一个Cube 重点部分 实现代码 using UnityEngine; using UnityEditor; ...

  7. 浅谈tidb事务与MySQL事务之间的区别

    MySQL是我们日常生活中常见的数据库,他的innodb存储引擎尤为常见,在事务方面使用的是扁平事务,即要么都执行,要么都回滚.而tidb数据库则使用的是分布式事务.两者都能保证数据的高一致性,但是在 ...

  8. UUChart的使用

    一.简介 UUChart是一个用于绘制图表的第三方,尤其适合去绘制折线图.自己再做一个医院相关的项目时,需要对一周内的血压进行监控,需要绘制折线图来表示出高压.低压的走向,因此学习了一下. 二.下载地 ...

  9. Sudoku(第二次作业)

    这里是github 工具清单: 编程语言:C++ 编程IDE:XCode 效能分析工具:XCode 源代码管理平台:Github PSP2.1 PSP2.1 Personal Software Pro ...

  10. firefox event.preventDefault(); 没有效果的解决方案

    $('.sub-list-click a').click(function (event) { event.preventDefault(); var sub = $(this).parent(&qu ...