物化视图使用场景
视图表
构建在若干张真实的基础表纸上,由一些数据的关联/聚合的SQL语句组织起来的虚拟表,所谓的虚拟表是因为本身是不存储任何数据的,在数据库中也只是类似一个象征性的符号
- 优点:对数据使用者来说,屏蔽了复杂的数据获取逻辑
- 缺点:随着视图表以来的查询表越来越大,查询数据所需要耗费的时间就会越来越久,因为视图采用的是一种 merge on read 的机制,也就是当我们需要目标数据的时候,才启动数据的关联和运算
物化视图
为了弥补上面的缺陷,就把计算后置,换成了计算前置,也就是merge on write机制。当这个视图创建语句成哥执行的那一刻,基础表的数据就开始根据视图规则,将符合要求的目标数据源源不断的写入到你的视图表中,成为了实实在在的目标数据,因此把它命名为物化试图
- 解决了查询慢的问题。
- 还会随着基础表数据的更新,根据业务规则实时更新