如何在mysql中创建物化视图?我无法像在MS SQL Server中那样创建实例化视图。
谁能告诉我在mysql中创建它的方法。
发布于 2016-11-22 23:01:20
您可以创建一个不可更新的动态视图-如果您在底层表中有(索引的)时间戳,您可以添加一个快照,如下所示:
CREATE VIEW almost_materialzd
AS
SELECT snp.*
FROM snapshot snp
WHERE s.id NOT IN (SELECT id
FROM source_data sd
INNER JOIN ref_data rd
ON rd.value='snapshot of source_data'
AND sd.update_timestamp>rd.timetamp)
UNION
SELECT *
FROM source_data sd2
INNER JOIN ref_data rd2
ON rd2.value='snapshot of source_data'
AND sd2.update_timestamp>rd2.timetamp);但更好的解决方案是向底层表添加一个(或多个)触发器,以便在底层表发生更改时重新填充表示实体化视图的表中的相关行。
发布于 2018-06-27 13:38:08
以下是我到目前为止所取得的成功:
使用触发器的
我已经在我的文章Creating MySQL materialized views中收集和分析了这些方法,它们的优缺点
期待有关在MySQL中创建物化视图的其他方法的反馈或建议
https://stackoverflow.com/questions/40733970
复制相似问题