IT用語集 › データベース › コストベースオプティマイザ

コストベースオプティマイザ

データベース Svenska → 更新: 2026-10-21

すべての候補プランに推定「コスト」(通常はIOとCPUの見積もり)を付け、最も安いものを選ぶクエリプランナーの設計。1990年ごろから、現代のあらゆるRDBMSの標準である。

核心はカーディナリティ推定、つまりWHERE x > 5が何行を返すかの見積もりだ。プランナーはヒストグラム、最頻値、異なり値数を使う。外れると、100行と見積もって実際は10万行、という事態になり、ネステッドループが破滅的に遅くなる。

Postgresではrandom_page_cost(既定4.0、SSDなら1.1に下げる)やeffective_cache_sizeを調整できる。統計が5割もずれていると、プランナーが今日と明日で別のプランを選び、性能がぶれる。AuroraやSnowflakeなどのクラウドDBは、実行時に適応的な再計画を行う。

← 用語集に戻る