假设我在MySQL中有一个视图:
CREATE VIEW blah AS
SELECT columnA FROM tableA
Run Code Online (Sandbox Code Playgroud)
这个视图多久从基础表tableA更新?
der*_*ert 10
即刻.视图不是作为数据的单独副本存在,而是作为重写查询的指令存在.
也就是说,当你select columnA from blah,MySQL内部重写为select columnA from tableA.
在支持物化视图的系统中,数据库负责使其保持最新.
(请注意,当查询足够复杂时,MySQL将在内部实现视图,仅用于查询的持续时间.这是一个实现细节,最好被认为是MySQL查询优化器中的缺陷.EXPLAIN可用于查看何时发生 -但你很可能会注意到可怕的表现.)