第四章SQLの最適化統計

Shenkaoziliao:
ブログのこのシリーズは、主にCenkaoziliao CUUGデータベースRannaiギャング教師の授業ノートを持って、「SQL最適化コアアイデア」(Luobingセン、黄チャオ忠交通と)、「PostgreSQLの内側:クエリの最適化の深さ」(張Shujieのa)に、ランク付け順不同インチ

 

1つの統計説明

データベース内のデータは、簡単な例を挙げ変更し、実施計画及び時にはダイナミックになっている、今日の商品IDの特定のテーブルには、均等に分散され、その後のプロモーションは、本製品に対応するID作ることデータ爆発、インデックスはどこへ行く元のクエリは、テーブル全体を行くことがあります。モニタリングは人工テーブルの変更が不可能であると達成できないです。ただし、オプティマイザはこの仕事をしてきた、オプティマイザは自動的に実施計画を調整します。

そこで問題は、オプティマイザを行う方法、です。

まず、リレーショナルデータベースは、数学、関係代数の完全な理論的基礎を持っている、それは同等の変動に基づいてすることができ、より優れた実行計画を提供しています。

しかし、等価変換は、基本ルールを最適化し、これらの等価なバリエーション、およびアクセスパスの変更(インデックス読み取りまたはフルテーブルスキャン)だけでなく、いくつかの参照データを有することができ、参照データ、これらの統計ということです。

2つの統計の収集スクリプト、

ベギン

  DBMS_STATS.GATHER_TABLE_STATSスキーマ(ownname => 'SCOTT'、

                                TABNAME => 'TEST1'

                                ESTIMATE_PERCENT => 100、

                                METHOD_OPT => 'COLUMNSのOWNERサイズSKEWONLY FOR'、

                                NO_INVALIDATE => FALSE、

                                DEGREE => 1、

                                CASCADE => TRUE)。

終わり;

/

以下に、独自のオンラインアクセスの内側に、私たちはここだけMETHOD_OPTについて話を集中し、このパラメータの誰もが、このコラムでは、ヒストグラムの生成を決めました。

だから、何であるか、ヒストグラム、それを、単に、ヒストグラムは、列のデータを均等に分散した状態を説明し、これは重要なパラメータのオプティマイザは、アクセス・パスとテーブルの接続を選択しています。

3つの拡張統計

列の統計情報を収集するために、オプティマイザが良い実行計画が選ばれたことはありません。時には、ちょうど、あなたは統計情報の収集、その調査その希望を拡張され、一緒に複数の列を収集する必要があります。

おすすめ

転載: blog.csdn.net/songjian1104/article/details/91349933