代码之家  ›  专栏  ›  技术社区  ›  adelarsq

MySQL的物化视图

  •  1
  • adelarsq  · 技术社区  · 14 年前

    this link

    谢谢


    更正:

    3 回复  |  直到 14 年前
        1
  •  2
  •   OMG Ponies    14 年前

    MySQL没有物化视图-链接只是创建一个表并将数据填充到其中,这样就可以为表编制索引。这意味着性能与普通表相当,但也有刷新和重新填充表(包括索引)的开销。

    MEMORY 可能是个更好的选择。

        2
  •  2
  •   Wolph    14 年前

    物化视图只是普通表的一个花哨的名称,它包含来自某个重查询的数据。

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

    • 您可以定期进行完全刷新。做起来很简单,但在更新期间和更新之间数据太重,已经过时。
    • 插入/删除/更新时,可以使用触发器自动更新数据。这使得其他表的插入/删除/更新稍微重一些,但不会过时。
        3
  •  1
  •   Justin Swanhart    13 年前

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

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

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