请问物化视图有关问题
请教物化视图问题
oracle数据库在服务器上,在个人pc上:create materialized view mv_name as select * from table_name
请问这时,物化视图的表是在服务器上还是在个人pc上。还有这个时候select * from table_name和select * from mv_name有区别么。物化视图适用哪些场景呢
------解决方案--------------------
物化视图还是在服务器.
select * from table_name和select * from mv_name 是有区别的,两个对应的都不是一个段了.
物化视图主要用于在大数据上做统计,牺牲完全实时来弥补统计的性能.
------解决方案--------------------
物化视图可以被看作一个表,只不过他的数据是通过其他基表数据生成的,他也是需要实际存储的
如果选择on commit可以实时刷新,但是这样相当于牺牲了数据增删改的执行效率
事务提交 就是说你整个事务所有的语句要么全部提交,要么全部回退,不能部分提交
如果设置了on commit 基表insert了一行数据,这时物化视图会更新
另外 如果物化视图和基表不在同一个数据库中,是无法建立ON COMMIT刷新模式的物化视图的
还有如果你的基表比较大而且更新频繁的话,用ON COMMIT刷新模式你的系统想不崩溃都难
oracle数据库在服务器上,在个人pc上:create materialized view mv_name as select * from table_name
请问这时,物化视图的表是在服务器上还是在个人pc上。还有这个时候select * from table_name和select * from mv_name有区别么。物化视图适用哪些场景呢
------解决方案--------------------
物化视图还是在服务器.
select * from table_name和select * from mv_name 是有区别的,两个对应的都不是一个段了.
物化视图主要用于在大数据上做统计,牺牲完全实时来弥补统计的性能.
------解决方案--------------------
物化视图可以被看作一个表,只不过他的数据是通过其他基表数据生成的,他也是需要实际存储的
如果选择on commit可以实时刷新,但是这样相当于牺牲了数据增删改的执行效率
事务提交 就是说你整个事务所有的语句要么全部提交,要么全部回退,不能部分提交
如果设置了on commit 基表insert了一行数据,这时物化视图会更新
另外 如果物化视图和基表不在同一个数据库中,是无法建立ON COMMIT刷新模式的物化视图的
还有如果你的基表比较大而且更新频繁的话,用ON COMMIT刷新模式你的系统想不崩溃都难