Tatsuo Ishii

行パターン認識の概要とその実装について

行パターン認識とは

SQL標準では「行パターン認識」(英語では Row Pattern Recognition, 略してRPR)という機能が定義されており、従来からあるWHERE句やHAVINGなどを使った検索機能では対応が難しかった、ある種の問い合わせに対応しています。

行パターン認識がよく使われる検索対象データは、一定の順で行が並んだデータ、とりわけ時系列データです。すなわち、時間とともに変化するデータです。
たとえば毎日の最高気温が記録されたテーブルがあるとします。

続きを読む

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

現在開発中のPostgreSQL 12では、様々な新機能の追加や改良が予定されています。本稿では、その中でも実用上の価値が高いと思われる改良の一つである、CTEの高速化についてご紹介します。

CTEとは

CTEとは、”Common Table Expressions” (共通テーブル式)の略で、SQL文内でテーブル式を定義し、それを同じSQL文内から参照できるものです。CTEには、普通の検索を行うだけでなく、再帰的なクエリ実行を行ったり(WITH RECURSIVE)、CTE内で更新処理を行うこともできますが、PostgreSQL 12で改良されたのは、再帰も更新も伴わない通常の検索処理で使われるCTEです。

続きを読む