タグ

ブックマーク / y-yagi.tumblr.com (2)

  • RailsでPostgreSQLのマテリアライズドビューを使う

    少し調べたのでメモ。 なお、調べた時のバージョンは、PostgreSQL 9.4.2のRails 4.2.1。 マテリアライズドビューとは、簡単に言うとテーブルのように実体を持ったビューのこと。PostgreSQL 9.3から使用可能。 ビューは使用するたびに、結合したり演算したりしますが、マテリアライズドビュー計算結果を保持するのでビューに比べるとパフォーマンス的に有利とのこと。 マテリアライズドビューは CREATE MATERIALIZED VIEW コマンドで作成する事が出来ます。 CREATE MATERIALIZED VIEW mymatview AS SELECT * FROM mytab; マテリアライズドビューはビュー作成時のデータで構成されているので、データが常に最新であるとは限りません。最新のデータを使用したい場合はビューのリフレッシュを行う必要があります。 REFR

    RailsでPostgreSQLのマテリアライズドビューを使う
  • RailsでPostgreSQLのJSONBデータ型を使う

    メモ。 調べた時のバージョンは、PostgreSQLは9.4.0で、Railsは4.2.0。 JSONBデータ型とはバイナリ型JSONの事。JSONBの"B"はバイナリ(binary)のB。 元々PostgreSQLでは9.2からJSON型に対応しており、9.4からJSONを独自バイナリ形式で格納するJSONB型が追加された。 JSONBの特徴をざっと書くと以下のような感じ データの正規化が行われ、入力結果が完全に保持されないケースがある(不要な要素の間の空白文字の削除、重複したキーがあった場合に後述したもののみ有効となる等)格納容量が大きくなる傾向にある。また、正規化が行われる為、格納処理は普通のJSON型の比べて遅い。検索がJSONと比べて格段に早い基的に、検索に特化している感じらしい。 JSONBについての詳細は、@nuko_yokohamaさんのJSONBデータ型を使ってみようが

    RailsでPostgreSQLのJSONBデータ型を使う
  • 1