mysql - 数据库 View 在 MySQL 中多久更新一次?

标签 mysql database view

假设我在 MySQL 中有一个 View :

CREATE VIEW blah AS
  SELECT columnA FROM tableA

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

最佳答案

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

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

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

(请注意,当查询足够复杂时,MySQL 将在内部具体化一个 View ,只是在查询期间。这是一个实现细节,最好被认为是 MySQL 查询优化器中的一个缺陷。EXPLAIN 可用于查看何时发生这种情况——但您很可能会从糟糕的性能中注意到。)

关于mysql - 数据库 View 在 MySQL 中多久更新一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7450630/

相关文章:

mysql - 为什么 <> 'null' 在 MySQL 中有效?

mysql - phpMyAdmin 的替代方案

sql - 在 WHERE 子句中格式化 [TIMESTAMP] 字段值?

c++ - 通用数据库管理器(包装器)

javascript - Backbone.js : Changing view. 属性没有反射(reflect)在 view.el 上

sql - 带有嵌套 SELECT 的 mysql 语句 - 如何提高性能

php - 另一个符号问题

php - 使用 SUM 基于时间范围显示数据

sql-server - SQL Server 2008 R2 和索引 View 中的执行计划

iphone - 如何在基于 View /选项卡栏的应用程序中隐藏选项卡栏