タグ

ブックマーク / www.sraoss.co.jp (3)

  • PostgreSQL 12の新機能:CTEの高速化

    現在開発中のPostgreSQL 12では、様々な新機能の追加や改良が予定されています。稿では、その中でも実用上の価値が高いと思われる改良の一つである、CTEの高速化についてご紹介します。 CTEとは CTEとは、”Common Table Expressions” (共通テーブル式)の略で、SQL文内でテーブル式を定義し、それを同じSQL文内から参照できるものです。CTEには、普通の検索を行うだけでなく、再帰的なクエリ実行を行ったり(WITH RECURSIVE)、CTE内で更新処理を行うこともできますが、PostgreSQL 12で改良されたのは、再帰も更新も伴わない通常の検索処理で使われるCTEです。 CTEを使うと、複雑なクエリや、同じようなサブクエリを何度も呼ぶようなSQL文を見通しよく書くことができます。同じようなことはVIEWや関数を定義することによっても可能ですが、CTE

    PostgreSQL 12の新機能:CTEの高速化
    inurota
    inurota 2020/03/03
    テーブルt1を順スキャンですべて読み取ってマテリアライズし(そしておそらくディスクに書き込み)、その結果に対して”CTE Scan on t1scan…”以下SELECT文を実行します
  • PostgreSQL 9.0 に関する技術情報

    このページでは PostgreSQL 9.0 (2010/06/04リリース)に関する技術情報をお届けします(beta2 の段階で作成し、rc1 に合わせて加筆しています)。 ドキュメントは PostgreSQL のリリースノートを元に弊社で解説を加えたものです。 概要 リリースの主な改良点は以下になります。 トランザクションログ転送に基づく組み込みのレプリケーション機能が追加されました。この拡張は、連続的にアーカイブログ(WAL)をスタンバイサーバに転送する「ストリーミングレプリケーション」、スタンバイサーバにてアーカイブログの適用をしながら読み取りの問い合わせを受け付ける「ホットスタンバイ」という二つの機能によって実現されています。 レポート作成むけの問い合わせが拡張されました。WINDOW関数で新たなオプション PRECEDING、FOLLOWING が加わり、集約関数の中で O

    PostgreSQL 9.0 に関する技術情報
    inurota
    inurota 2016/06/21
    「psql で先頭の UTF-8 エンコーディングのバイトオーダーマーク(BOM) を無視するようになりました。(Itagaki Takahiro) この振る舞いはクライアントエンコーディングが UTF8 であるとき有効になります。」
  • PostgreSQL 9.0 に関する技術情報

    このページでは PostgreSQL 9.0 (2010/06/04リリース)に関する技術情報をお届けします(beta2 の段階で作成し、rc1 に合わせて加筆しています)。 ドキュメントは PostgreSQL のリリースノートを元に弊社で解説を加えたものです。 概要 リリースの主な改良点は以下になります。 トランザクションログ転送に基づく組み込みのレプリケーション機能が追加されました。この拡張は、連続的にアーカイブログ(WAL)をスタンバイサーバに転送する「ストリーミングレプリケーション」、スタンバイサーバにてアーカイブログの適用をしながら読み取りの問い合わせを受け付ける「ホットスタンバイ」という二つの機能によって実現されています。 レポート作成むけの問い合わせが拡張されました。WINDOW関数で新たなオプション PRECEDING、FOLLOWING が加わり、集約関数の中で O

    PostgreSQL 9.0 に関する技術情報
    inurota
    inurota 2014/11/26
  • 1