IT用語集 › データベース › クエリプランナー

クエリプランナー

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

SQLクエリを受け取り、物理的な実行計画を決めるDBのコンポーネント。どのインデックスを使うか、結合順序、結合アルゴリズム(nested loop / hash / merge)、並列度を選ぶ。より抽象的な書き換えを行うオプティマイザとは区別される。

コストベースオプティマイザ(CBO)は、各プラン案のコスト(CPU + IO)を見積もり、最も安いものを選ぶ。統計情報(pg_statistics、MySQLのANALYZE TABLE)が前提で、統計が古いと悪いプランになる。ルールベースオプティマイザ(RBO)は固定のルールで動く(Oracle 9i以前)。性能劣化の古典的な原因は「昨日まで動いていた同じクエリが突然遅い」で、たいていは統計が古くなったせいだ。ヒントについては、PostgreSQLは受け付けず、MySQLは対応(USE INDEX)、Oracleは豊富なヒント機構を持つ。プランの安定性は、それ自体がひとつの技術分野である。

← 用語集に戻る