4 ポイント 投稿者 xguru 2026-01-08 | まだコメントはありません。 | WhatsAppで共有
  • ワイルドカードの多い文字列検索を高速に処理するために設計された PostgreSQL専用インデックスアクセス方式(IAM)
    • 不要なheapアクセスと性能低下が構造的に発生するpg_trgmの限界を補完
  • 文字と位置を基準にした Bitmap Position Index を使い、候補結果をメモリ内のビットマップ演算で正確にフィルタリング
    • 検索結果に対するheap recheckが不要なため、不要なランダムI/Oを排除
  • 文字列の前方・後方の位置を両方インデックス化する 双方向(positive / negative)インデックス構造 により、prefix、suffix、substringパターンを効率的に処理
  • 大文字・小文字を区別しない検索のための ILIKE専用インデックス経路 を内部的に分離し、正確性と性能を同時に確保
  • 単一カラムだけでなく 複数カラムのLIKE条件を1つのインデックスで処理 できるように設計
    • 各カラムのパターン選択度を分析し、自動的に実行順序を並べ替え
  • %_ が混在する複雑なパターンでも 偽陽性(false positive)が発生しない決定的な検索結果 を提供
  • COUNT、EXISTSのような 集計クエリでも不要なソートを省略 して処理速度を改善
  • Roaring Bitmap(CRoaring)ベースの実装により、データ密度に応じてメモリ使用量を自動最適化
  • ORDER BYを直接サポートしてはいないが、結果セットが小さくなった後にソートが行われるよう、プランナーと自然に連携
  • 正規表現、類似度検索、localeベースのcollationはサポートしない代わりに、LIKE / ILIKE特化の性能に集中した設計

まだコメントはありません。

まだコメントはありません。