物化视图和mysql中的普通表之间的区别?

时间:2013-07-16 05:40:59

标签: mysql

我想知道mysql中物化视图和普通表之间的区别。虽然mysql不支持物化视图,但我们可以使用flexview

目前我们正在处理呼叫详细记录(cdr文件)并将记录保存在表中(比如表A),然后我们创建了另一个表(比如表B),它将具有表A中的记录但按组分组记录。所以表B将计算表A的记录,例如按国家或城市分组。

表A保持了巨大的规模,因为它保存了所有的cdr文件 表B使用查询分组保存表A中的所有结果

现在我的问题是如何在这种情况下实现物化视图,以及与上述场景中的表B相比,就查询性能而言,它是如何产生影响的。

1 个答案:

答案 0 :(得分:2)

在比较查询性能方面,表B中的SELECT与“flewview物化视图”中的SELECT没有区别,因为flexview所做的是创建一个实际的表,并维护该表的内容

可能会有所不同的是如何填充“物化视图”表。它很可能与您填充和维护表B的方式不同。

根据flexview维护表的方式,当发生插入/更新/删除操作时,可能会对并发产生影响。即,当“刷新”进程锁定行时,查询被阻止执行读取。

但是对于物化视图的查询,它与常规表的查询没有任何不同。