[20151010]物化视图的物理表建成索引组织表

简介: [20151010]物化视图的物理表建成索引组织表.txt --论坛有人问这个问题,自己测试看看是否可行? http://www.itpub.net/thread-1939707-1-1.

[20151010]物化视图的物理表建成索引组织表.txt

--论坛有人问这个问题,自己测试看看是否可行?
http://www.itpub.net/thread-1939707-1-1.html

1.环境:
SCOTT@test01p> @ver1

PORT_STRING                    VERSION        BANNER                                                                               CON_ID
------------------------------ -------------- -------------------------------------------------------------------------------- ----------
IBMPC/WIN_NT64-9.1.0           12.1.0.1.0     Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production              0


create table t ( id number CONSTRAINTS pk_t primary key , name varchar2(20));
insert into t  select rownum,'test' from dual connect by level<=10;
commit ;

create materialized view log on t;
create table mv_t ( id number  , name varchar2(20) ,constraint mv_t_iot_pk PRIMARY KEY(id)) ORGANIZATION INDEX;
insert into mv_t select * from t;
commit ;

2.建立物化视图看看。

create materialized view mv_t on prebuilt table refresh fast start with sysdate next sysdate + 1/24/60 as select * from t;
--create materialized view mv_t on prebuilt table refresh fast on commit  as select * from t;

SCOTT@test01p> insert into t values (11,'a');
1 row created.

SCOTT@test01p> commit ;
Commit complete.

SCOTT@test01p> update t set name='aaaa' where id=1;
1 row updated.

SCOTT@test01p> commit ;
Commit complete.

SCOTT@test01p> delete from t where id=2;
1 row deleted.

SCOTT@test01p> commit ;
Commit complete.


3.等上1分钟:

SCOTT@test01p> select * from mv_t;
        ID NAME
---------- --------------------
         1 aaaa
         3 test
         4 test
         5 test
         6 test
         7 test
         8 test
         9 test
        10 test
        11 a
10 rows selected.

SCOTT@test01p> SELECT JOB, LOG_USER, LAST_DATE, NEXT_DATE, FAILURES FROM USER_JOBS;
       JOB LOG_USER             LAST_DATE           NEXT_DATE             FAILURES
---------- -------------------- ------------------- ------------------- ----------
        22 SCOTT                2015-10-10 22:27:14 2015-10-10 22:28:14          0

--数据已经同步,1点问题都没有。

--上面我采用先建表,然后on prebuilt table的方式来建立materialized view。
--补充采用直接建立的方式看看:

SCOTT@test> drop materialized view mv_t;
Materialized view dropped.

SCOTT@test> drop table mv_t purge ;
Table dropped.

SCOTT@test> create materialized view mv_t ( id  , name ) ORGANIZATION INDEX refresh fast on commit  as select * from t;
Materialized view created.

SCOTT@test> select dbms_metadata.get_ddl( 'TABLE', 'MV_T', user )  c100 from dual;
C100
----------------------------------------------------------------------------------------------------
  CREATE TABLE "SCOTT"."MV_T"
   (    "ID" NUMBER,
        "NAME" VARCHAR2(20),
         PRIMARY KEY ("ID") ENABLE
   ) ORGANIZATION INDEX NOCOMPRESS PCTFREE 10 INITRANS 2 MAXTRANS 255 LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS"
PCTTHRESHOLD 50;
--这样直接建立物化视图是索引组织表。主键也是ID。

SCOTT@test> select dbms_metadata.get_ddl( 'MATERIALIZED VIEW', 'MV_T', user )  c100 from dual;
ERROR:
ORA-31600: invalid input value MATERIALIZED VIEW for parameter OBJECT_TYPE in function GET_DDL
ORA-06512: at "SYS.DBMS_METADATA", line 5088
ORA-06512: at "SYS.DBMS_METADATA", line 7589
ORA-06512: at line 1
--google 发现不能这样执行MATERIALIZED VIEW之间空格换成下划线_。

SCOTT@test> select dbms_metadata.get_ddl( 'MATERIALIZED_VIEW', 'MV_T', user )  c100 from dual;
C100
----------------------------------------------------------------------------------------------------

  CREATE MATERIALIZED VIEW "SCOTT"."MV_T" ("ID", "NAME")
  ORGANIZATION INDEX NOCOMPRESS PCTFREE 10 INITRANS 2 MAXTRANS 255 LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS"
PCTTHRESHOLD 50
  BUILD IMMEDIATE
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS"
  REFRESH FAST ON COMMIT
  WITH PRIMARY KEY USING DEFAULT LOCAL ROLLBACK SEGMENT
  USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE
  AS select * from t;

目录
相关文章
|
3天前
|
数据采集 人工智能 安全
|
12天前
|
云安全 监控 安全
|
4天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1052 151
|
4天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1736 9
|
9天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
683 152
|
11天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
648 12
|
6天前
|
SQL 自然语言处理 调度
Agent Skills 的一次工程实践
**本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。
409 4