MySQL的物化视图

时间:2010-10-21 21:03:07

标签: sql mysql materialized-views sql-view

使用MySQL模拟物化视图具有良好的性能?我正在学习如何处理this link

感谢


更正:“物化视图”到“模拟物化视图”。

3 个答案:

答案 0 :(得分:2)

物化视图只是普通表的一个奇特名称,其中包含来自某些重要查询的数据。

因此,尽管创建它与重度查询本身一样重,但查询它真的很快。

这里最大的问题是你想如何更新视图。

  • 您可以定期全面刷新。操作简单,但在更新期间和更新之间很重,数据已过时。
  • 您可以使用触发器在插入/删除/更新时自动更新数据。这使得其他表的插入/删除/更新稍微重一些,但它不会过时。

答案 1 :(得分:2)

MySQL没有物化视图 - 链接只是创建一个表并将数据填充到其中,以便可以对表进行索引。这意味着性能与普通表相当,但你也有冲洗和开销的开销。重新填充表格(包括索引)。

我没有看到该表使用的引擎,但MEMORY可能是更好的选择。

答案 2 :(得分:1)

Flexviews(http://flexvie.ws)是一个基于PHP / MySQL的开源项目。 Flexviews将增量可刷新的物化视图(如Oracle中的物化视图)添加到MySQL,使用PHP和存储过程。

它包括FlexCDC,一个基于PHP的更改数据捕获实用程序,用于读取二进制日志,以及Flexviews MySQL存储过程,用于定义和维护视图。

Flexviews支持连接(仅限内连接)和聚合,因此可用于创建汇总表。此外,您可以将Flexviews与Mondrian(一个ROLAP服务器)聚合设计器结合使用,以创建ROLAP工具可以自动使用的汇总表。