【问题标题】:How often does a database view get updated in MySQL?MySQL 中数据库视图多久更新一次?
【发布时间】:2011-11-19 00:30:21
【问题描述】:

假设我在 MySQL 中有一个视图:

CREATE VIEW blah AS
  SELECT columnA FROM tableA

此视图多久从基础表 tableA 更新一次?

【问题讨论】:

    标签: mysql database view


    【解决方案1】:

    立即。视图实际上并不作为数据的单独副本存在,而是作为重写查询的指令存在。

    也就是说,当您 select columnA from blah 时,MySQL 会在内部将其重写为 select columnA from tableA

    在支持物化视图的系统中,数据库负责使它们保持最新。

    (请注意,当查询足够复杂时,MySQL 将在内部实现一个视图,仅在查询期间。这是一个实现细节,最好认为是 MySQL 查询优化器中的一个缺陷。EXPLAIN 可用于看看这是什么时候发生的——但你很可能会从糟糕的表现中注意到。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-17
      • 1970-01-01
      • 2021-01-13
      相关资源
      最近更新 更多