2016-11-22 7 views
2

mysqlでマテリアライズド・ビューを作成する方法は? MS SQL Serverと同じように、マテリアライズドビューを作成できません。mysqlのマテリアライズド・ビュー

誰でも私にmysqlでそれを作成する方法を教えてもらえますか?

+1

[ここ](http://dba.stackexchange.com/questions/86790/best-way-to-create-a-materialized-view-in-mysql)からキューを取ることができます。 –

答えて

2

あなたは非更新可能な動的ビューを作成することができます - あなたは基礎となる表で(インデックス付き)のタイムスタンプ(複数可)を持っている場合は、スナップショットに追加することができ、のようなもの:

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); 

しかし、より良い解決策は、基になるテーブルが変更されたときにマテリアライズド・ビューを表すテーブル内の関連する行を再配置するために、基になるテーブルにトリガ(またはトリガ)を追加することです。

+0

ありがとう! – Naveen

関連する問題