タグ

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

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

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

  • CHAR と VARCHAR2 の違い - オラクル・Oracleをマスターするための基本と仕組み

    この比較は RTRIM('abc') 比較条件 RTRIM('abc______') のようにも見えるが実際は反対?でちょっと違う。 名前の通りスペースを PADDING した(満たした※) 後に比較する。短い方の文字列が長い方の文字列と同じ長さになるまでスペースが充填される。TRIM より PADDING をエミュレーションする方がメモリ使用量が少なくて速いのかも。 つまり「空白埋め」とは TRIM (FM 書式修飾子の FILL) ではなく PADDING であるということ。 vLength := GREATEST(length('abc'), length('abc______')); RPAD('abc', vLength ) 比較条件 RPAD('abc______', vLength) というイメージ 参考: RTRIM 関数、RPAD 関数、NLS_COMP 初期化パラメータ

  • 1