Oracle では、インデックスは、サーバーがテーブル内の行を迅速に検索できるようにするデータベース構造です。アクセスを高速化することを目的として、テーブルの 1 つ以上の列に構築される補助オブジェクトです。テーブル内のデータに。インデックスの機能: 1. データに迅速にアクセスする; 2. データベースのパフォーマンスを向上させるだけでなく、列の値などの一意性を確保することもできます。
このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。
#インデックスとは何ですか?
Oracle では、インデックスはサーバーがテーブル内の行を迅速に検索できるようにするデータベース構造です。データベースにインデックスを作成すると、主に以下の機能があります。
(1) データに素早くアクセスします。 (2) I/O 操作の削減(3) データベースのパフォーマンスを向上させるだけでなく、列値の一意性も確保できます。 (4) テーブル間の参照整合性の実装 (5) データの取得に orderby 句と groupby 句を使用する場合、インデックスを使用すると、並べ替えとグループ化の時間を短縮できます。使用する場合:
使用しない場合:
インデックスの作成:
CREATE [UNIQUE] | [BITMAP] INDEX index_name --unique表示唯一索引 ON table_name([column1 [ASC|DESC],column2 --bitmap,创建位图索引 [ASC|DESC],…] | [express]) [TABLESPACE tablespace_name] [PCTFREE n1] --指定索引在数据块中空闲空间 [STORAGE (INITIAL n2)] [NOLOGGING] --表示创建和重建索引时允许对表做DML操作,默认情况下不应该使用 [NOLINE] [NOSORT]; --表示创建索引时不进行排序,默认不适用,如果数据已经是按照该索引顺序排列的可以使用たとえば、製品テーブル:
-- Create table create table TB_GOODS ( goods_id VARCHAR2(64) not null, goods_name VARCHAR2(256) not null, goods_price VARCHAR2(64) not null, status VARCHAR2(1) not null );インデックスの作成:
--这里unique可以省略,若省略则索引为非唯一索引 create index UI_tb_goods on tb_goods(goods_name); --若使用unique则为唯一索引 create unique index un_tb_goods on tb_goods(goods_name); --括号中添加两列则为组合索引 create unique index un2_tb_goods on tb_goods(goods_name,status); --括号中添加三列,其顺序没有关系,效果是一样的 create unique index un3_tb_goods on tb_goods(goods_name,goods_price,status);一意のインデックスのもう 1 つの機能は、列が同じ値を持つことができないように制御することです。
クエリ インデックス:
select * from user_indexes where table_name='表名'; select * from user_ind_columns where index_name='索引名';推奨チュートリアル: 「
Oracle チュートリアル 」
以上がOracleのインデックスとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。