タグ

databaseとalgorithmに関するtoriaezuのブックマーク (4)

  • 第 1 回 「インデックスアーキテクチャとデータアクセス方法を理解する」~ システム構築 ~

    図 1-5-1   PRIMARY KEY 制約と UNIQUE KEY 制約を作成すると暗黙的にインデックスは作成される 1-6. sysindexes システムテーブルの理解 sysindexes システムテーブルはテーブルとインデックスに関する情報が格納される重要なテーブルであり、データベース内のインデックスとテーブルごとに 1 行のデータを保持します。インデックスの理解を深めるためにはsysindexesテーブルを理解することが必要です。その中でも以下の列は特に重要です。 indid 列 0 ‥   このエントリがヒープであることを示します 1 ‥   このエントリがクラスタ化インデックスであることを示します 2 ~ 250 ‥   このエントリが非クラスタ化インデックスであることを示します FirstIAM 列 indid が 0 の場合、インデックスを使わずにヒープにアクセスす

    第 1 回 「インデックスアーキテクチャとデータアクセス方法を理解する」~ システム構築 ~
  • B木

  • インデックスの基礎知識

    ■ インデックスとは データベースの世界で、インデックス(索引)とはテーブルに格納されているデータを 高速に取り出す為の仕組みを意味します。 インデックスを適切に使用することによってSQL文の応答時間が劇的に改善 される可能性があります。 インデックスにはB-Treeインデックスをはじめ、ビットマップインデックス、 関数インデックスなどの種類がありますが、ここでは最も一般的に使われ、かつ ほとんどのDBMSでサポートされているB-Treeインデックスについて解説します。 ※ CREATE INDEX文でオプションを指定しない場合は通常B-Treeインデックスが 作成されます。 ■ B-Treeインデックスのしくみ B-Tree(Balanced Tree)インデックスは次のようなツリー状の構造になっています。 ツリーの先頭はヘッダブロックと呼ばれています。ヘッダブロックでは、キー値の 範囲

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

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

  • 1