タグ

ブックマーク / www.shift-the-oracle.com (3)

  • B-Tree インデックス - オラクル・Oracleをマスターするための基本と仕組み

    B-Tree インデックス (B-Tree Index) オラクルのインデックス、すなわち、デフォルト時のインデックスは B-Tree インデックス(※1) になる。 B-Tree インデックスとはバランスド・ツリーインデックスの略である(1969 年頃に既に考案されている)。プログラミングを始めたときにソートアルゴリズムやデータ構造で勉強したであろうと思う二分木 (Binary-Tree) の進化版みたいなものである。 一部のブランチが異常に成長しないように平衡を保つように再編成(バランス)する仕組みによって、常にインデックスによる検索性能を高い状態に保つことができる(※2)。 RDBMS によっては色々な種類のインデックスが存在しているが、現在においても B-Tree インデックスが多くのケースで優れたパフォーマンスを出していることには変わりないようである。 (※1) B-Tree に

  • アクセスパス - オラクル・Oracleをマスターするための基本と仕組み

    インデックス・スキャン インデックス・ユニーク・スキャン 例) colmn_name = search_value インデックス・レンジ・スキャン 例) BETWEEN a AND b, like 'a%', < , > など ~ 参考: B-Tree インデックス インデックス・スキップ・スキャン 例) [[INDEX SKIP SCAN]]~ インデックス・フル・スキャン 高速・フル・インデックス・スキャン (CBO のみ) 例) インデックス化されたカラムのみで構成されている。 (パラレル・マルチブロック読み込み対応) もしインデックス化したカラムだけを参照(条件を含む)している SQL の場合 インデックスのデータにアクセスするだけで処理を完了することができるためテーブルにアクセスしない。 テーブル・フル・スキャン テーブルフルスキャンとは、テーブル全体をバッファ内に読み込むアクセ

  • シーケンスの定義 - オラクル・Oracleをマスターするための基本と仕組み

    シーケンス シーケンス(SEQUENCE)とは Oracle によって提供されている高速に連番(※)を発行するための仕組みである*1。この機構にはシーケンス・ジェネレータ(順序生成装置?)という立派な名前も付いている。シングルインスタンス環境では番号をキャッシュしているだけにみえるが、RAC(Real Application Cluster) の環境の ORDER 付きのシーケンスの場合には、舞台裏でなにやら調整しているようである。 (※) 増分値を設定すれば飛び番の採番も可能 シーケンスの構文 CREATE SEQUENCE sequence_name [ INCREMENT BY integer (INCREMENT BY 1) ] [ START WITH integer (START WITH 1) ] [ NOMAXVALUE | MAXVALUE integer ] [ NOM

  • 1