\r\n\r\n
クラスタ化インデックスと非クラスタ化インデックス
データベースにおいて、インデックスは非常に重要である。これらは、テーブルからデータを取り出す際のパフォーマンスを向上させるために使用される。これらは、関連するテーブルのデータとは論理的・物理的に独立している。そのため、ベーステーブルのデータに影響を与えることなく、インデックスの削除、再作成、再構築が可能です。オラクルサーバーは、関連するテーブルの**、更新、削除の際に、DBAの関与なく自動的にインデックスを維持することができます。インデックスにはいくつかの種類があります。ほら、あるじゃないですか。
1 ツリーインデックス
2ビットマップインデックス
iii. 機能ベースのインデックス作成
4 反転キーインデックス
5Bツリークラスタリングインデックス
非クラスタ化インデックスとは何ですか?
上記のインデックスタイプのうち、以下のものは非**インデックスです。
-B-treeインデックス
-ビットマップインデックス
-機能別インデックス作成
-逆キーインデックス
B-treeインデックスは、データベースで最も広く使われているタイプのインデックスである。CREATE INDEXコマンドがデータベース上でタイプを指定せずに発行された場合、oracleserverはB-treeインデックスを作成します。B-Treeインデックスが特定の列に作成されると、ocleserverはその列の値を保存し、テーブルの実際の行への参照を保持する。
ビットマップインデックスは、カラムのデータがあまり選択的でない場合に作成されます。これは、コラムデータのベースが非常に低いことを意味します。これらは特にデータウェアハウス用に設計されており、更新頻度の高いテーブルやトランザクションの多いテーブルでビットマップインデックスを使用するのは良くありません。
関数インデックスは、Oracle8iのものである。ここでは、インデックスカラムに関数が使用されている。したがって、関数インデックスでは、列データは通常の方法ではソートされません。関数を適用した後の列の値をソートします。これらは、selectクエリのWHEREクローズ機能を使用する際に非常に便利です。
逆キーインデックスは、非常に興味深いタイプのインデックスである。あるカラムに、"cityA", "cityB", "cityC"...といったユニークな文字列のデータが多数含まれているとする。すべての価値観にはパターンがある。最初の4文字が同じで、次の部分が変わります。したがって、REVERSE キーインデックスがカラムに作成されると、Oracle は文字列を反転して b-tree インデックスに復元します。
上記のインデックスタイプは非**インデックスであり、インデックスデータはテーブルの外部に格納され、テーブルへのソートされた参照を保持することを意味します。
インデックスとは?
インデックスとは、特殊なインデックスのことです。テーブルのデータを物理的に保存するのと同じようにデータを保存する。したがって、1つのテーブルが複数の**インデックスを持つことはできません。テーブルは1つの**インデックスしか持つことができません。
1つのテーブルには**インデックスは1つしか作成できませんが、非**インデックスは最大249個作成できます。2 **インデックスは主キーが作成されると自動的に作成されますが、非**インデックスはユニークキーが作成されると作成されます。 |