【#PostgreSQL】マテリアライズドビュー,らしい...
関連記事
- 【#PostgreSQL】太古の昔から動いているシステムのレコード,手修正作業をするなど,と 【2023年10月06日(金)】
- 【#PostgreSQL】テーブルから取得したレコードセットをCSVへ落とそうとすると,空ファイルが出来る...ドロドロドロ 【2023年03月08日(水)】
- 仕事オワタ 昼寝しよ(GRB爆 【2023年02月23日(木)】
- 【#PostgreSQL】鬼のような4本のSQLを書き上げた 【2023年01月13日(金)】
- 【#PostgreSQL】某改造案件,凶悪なSQLを書かないといけないじゃないっすかっ!計4本(汗 【2023年01月12日(木)】
謎な案件のデータベース構造
拡張するような話がチラホラと?
あちこちview書いているけど,今度の改造でフィールド数増えるし,結合テーブル増えまくるし?
これで速度が落ちそうな気が(微汗
クエリいじって解決しねぇ~かねぇ~と1週間ほど悩んでおったが
なんのことはない
マテリアライズドビュー
を使えばいいみたい
これを
CREATE VIEW testview AS SELECT master.mastermainkey, master.testcd, master.testname, data.datamainkey, data.datavalue FROM ( SELECT id AS mastermainkey, testcd, testname FROM mas_test WHERE activefl = true) master JOIN ( SELECT id AS datamainkey, masmainkey, datavalue FROM tbl_data WHERE activefl = true) data ON master.mastermainkey = data.masmainkey;これに変更
CREATE MATERIALIZED VIEW testview AS /*この行変更*/ SELECT master.mastermainkey, master.testcd, master.testname, data.datamainkey, data.datavalue FROM ( SELECT id AS mastermainkey, testcd, testname FROM mas_test WHERE activefl = true) master JOIN ( SELECT id AS datamainkey, masmainkey, datavalue FROM tbl_data WHERE activefl = true) data ON master.mastermainkey = data.masmainkey;
マテリアライズドビューは,テポラリテーブルを良きにはからって作ってくれて,
結果セットをこのテンポラリテーブルへ勝手にキャッシュするそうな
出力は,生テーブルをこねくり回して出力するんじゃなく,このテンポラリテーブルから出力されるとのこと
なんで,生テーブル側を更新しても,テンポラリテーブルは自動更新してくれないのは要注意
このテンポラリテーブルを最新情報に書き換えるには
refresh materialized view
コマンドを使わないといけないとのこと
↑の例なら
refresh materialized view testview;でキャッシュがリフレッシュされるぞー
refresh materialized view は少し重い命令だそうで(まぁ,そりゃそうだわな).テーブルロックがかかったり騒ぎになるかも?だそうで
軽く実行させるには「CONCURRENTLY」オプションをつけろじゃげな
refresh materialized view concurrently testview;うちのケースだと
80msぐらいかかってた巨大クエリが50msしかかからなくなった.
3割ぐらい速くなったかな?
これを元で実装計画を,ば?
コメント
こどもの日,らしい.城主生誕記念の軍事パレード決行なのかっ!?
今朝,寒いよっ!暑くなったり寒くなったりで自律神経が辛い
グリコ「プッチンプリンやカフェオーレ」目標の5月中旬に出荷再開できず 停止期間を延長決定
【#インボイス】消費税の納付,督促状,らしい...ドロドロドロ 所得税の口座引落登録のみじゃNGっぽい
北海道 根室 軽トラックにヒグマが衝突 乗っていた2人けがなし
火野正平さん、腰痛で撮影中断 NHKBS「にっぽん縦断 こころ旅」 ネットに案ずる声
ゴールデンウィークがスタート 見事な土砂降りワロタ
【#RUANG】インドネシア:ルアング山で火山が大規模噴火:愛媛で震度6弱な緊急地震速報(24/4/18)