请教物化视图问题

zdczdccccc 2014-08-03 10:10:28
oracle数据库在服务器上,在个人pc上:create materialized view mv_name as select * from table_name
请问这时,物化视图的表是在服务器上还是在个人pc上。还有这个时候select * from table_name和select * from mv_name有区别么。物化视图适用哪些场景呢
...全文
263 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bw555 2014-08-04
  • 打赏
  • 举报
回复
对你这个没有建立物化视图的必要,纯属练习还行,增加了存储消耗,效率也基本没变 在实际业务中不会建立这么简单的物化视图的
bw555 2014-08-04
  • 打赏
  • 举报
回复
避免频繁访问基表,避免复杂查询语句频繁执行,避免过度消耗资源,籍此增进查询效能
zdczdccccc 2014-08-04
  • 打赏
  • 举报
回复
引用 3 楼 bw555 的回复:
物化视图可以被看作一个表,只不过他的数据是通过其他基表数据生成的,他也是需要实际存储的 如果选择on commit可以实时刷新,但是这样相当于牺牲了数据增删改的执行效率 事务提交 就是说你整个事务所有的语句要么全部提交,要么全部回退,不能部分提交 如果设置了on commit 基表insert了一行数据,这时物化视图会更新 另外 如果物化视图和基表不在同一个数据库中,是无法建立ON COMMIT刷新模式的物化视图的 还有如果你的基表比较大而且更新频繁的话,用ON COMMIT刷新模式你的系统想不崩溃都难
请问下物化视图有什么用吗,怎么没感觉用处多大啊。 比如create materialized view mv_name as select * from table_name select * from table_name和select * from mv_name效率方面有什么区别么
bw555 2014-08-04
  • 打赏
  • 举报
回复
物化视图可以被看作一个表,只不过他的数据是通过其他基表数据生成的,他也是需要实际存储的 如果选择on commit可以实时刷新,但是这样相当于牺牲了数据增删改的执行效率 事务提交 就是说你整个事务所有的语句要么全部提交,要么全部回退,不能部分提交 如果设置了on commit 基表insert了一行数据,这时物化视图会更新 另外 如果物化视图和基表不在同一个数据库中,是无法建立ON COMMIT刷新模式的物化视图的 还有如果你的基表比较大而且更新频繁的话,用ON COMMIT刷新模式你的系统想不崩溃都难
zdczdccccc 2014-08-03
  • 打赏
  • 举报
回复
引用 1 楼 sjcss 的回复:
物化视图还是在服务器. select * from table_name和select * from mv_name 是有区别的,两个对应的都不是一个段了. 物化视图主要用于在大数据上做统计,牺牲完全实时来弥补统计的性能.
两个都不是一个段了,什么意思呀 牺牲完全实时,不是说物化视图在创建时可以选择on commit,这样一旦基表发生事务提交物化视图也随着更新。这我也想问一点,事务提交什么意思?比如基表insert了一行数据,这时物化视图会更新么
美到心痛 2014-08-03
  • 打赏
  • 举报
回复
物化视图还是在服务器. select * from table_name和select * from mv_name 是有区别的,两个对应的都不是一个段了. 物化视图主要用于在大数据上做统计,牺牲完全实时来弥补统计的性能.

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧