-
物化视图
首先,MySQL中的视图是一种虚表,其目的是为了方便数据的查询,提升的是开发效率,而不是查询效率。
而物化视图,不仅可以提高开发效率,而且可以提高查询效率。
-
特点
- 物化视图是一种特殊的物理表,物化是相对视图而言的。
- 是一个物理表,且不仅仅是一个物理表
- 是一个段,有自己的物理存储属性
- 占用数据库磁盘空间
-
类型
手动刷新,on demand,在需要的时候才会被刷新
自动刷新,on commit,基表每次提交都会更新物化视图
-
使用
创建语句:
create materialized view mv_name [选项] as select * from table_name;
选项参数:
- build [immediate, deferred]; 是否在创建视图时生成数据,默认生成;deferred为需要时才生成
- refresh [fast, complete, force,
never]; fast为增量刷新,或者说快速刷新,最常用;complete 为全表刷新,或者说覆盖刷新;force 为如果增量刷新则可以使用增量使用,否则为全表刷新,never 为不刷新,在数据分析时可使用此选项。 - on [demand, commit]; demand,手动刷新;commit,自动刷新
- start with; 通知数据库完成从主表到本地表第一次复制的时间;
- next;刷新的时间间隔,即上一次执行时间+时间间隔,一般跟手动刷新使用,单位为秒;
-