【问题标题】:Is it possible to only update mysql view when there is changes in data?是否可以仅在数据发生更改时更新 mysql 视图?
【发布时间】:2014-03-21 14:08:09
【问题描述】:

我有一个非常慢的查询(大数字),运行需要 60 秒。

我认为将结果设为 VIEW 可以解决问题,但我现在看到视图会针对对视图的每个查询进行更新。

问题是这个视图的真实数据每月只更新一次,因此不需要在每次查询时更新。

这可能吗?仅在原始表发生更改时才更新视图?

【问题讨论】:

    标签: mysql view


    【解决方案1】:

    从 5.6 开始,不能使用 mysql 视图。最简单的方法是创建一个每月填充一次的报表,而不是动态视图。您可以创建一个时间触发事件来运行 SQL 来填充它:dev.mysql.com/doc/refman/5.5/en/create-event.html

    【讨论】:

    • 是的,这是一个解决方案。我只是在想,如果视图只能在数据更改时更新,那就更简单了。
    • @KristianRafteseth 这是一个尝试,但基本上就是我所描述的:stackoverflow.com/questions/16687736/…
    【解决方案2】:

    也许您可以尝试编写一个包含插入/更新/删除功能的函数并更新视图。或者你可以使用 mysql 触发器并在表有修改时更新视图

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-29
      • 1970-01-01
      • 2011-07-18
      • 1970-01-01
      • 2011-04-16
      相关资源
      最近更新 更多