oracle 索引的定义及使用

来源:互联网 发布:国网网络大学网址 编辑:程序博客网 时间:2024/05/16 09:55
2 索引
       目标是为了提高查询的速度,当用户对查询速度不满意而需要对数据库的性能进行调校时,优先考虑建立索引。
       数据库中索引的概念与书索引的概念非常类似,
       不同之处在于数据库索引用来在表中查找特定的行。
       索引缺点:
                      向表中“添加/删除”行时,必须花费额外的时间来更新该行的索引。
       创建索引的时机:
                      当需要从大表中检索少数几行时,都应该对列创建索引。
       基本准则:
                      当任何单个查询要检索的行<=整个表行数的10%时,索引就非常有用。
       索引的候选列:
                      应该是用来存储很大范围的值的列
       自动创建索引:
                      表的主键和唯一键将自动创建索引
2.1 语法
       create [unique] index 索引名 -------unique指定索引列中的值是唯一的,索引名建议以idx打头
       on 表名(列1, 列2... ...) --------可以对多列创建索引,这种索引称为“复合索引”
       [tablespace 表空间名]; --------省去后,索引将被存储到用户的默认表空间中
       提示:
       出于性能方面的原因,通常应该将索引与表存储到不同的表空间中
       示例:
       create index idx_customers_lastname on customers(last_name);
2.2 查询索引和索引列的信息
      select * from user_indexes where table_name in('CUSTOMERS', 'EMPLOYEES');
      select * from user_ind_columns where table_name in('CUSTOMERS', 'EMPLOYEES');
2.3 修改索引
      alter index 索引名 rename to 新索引名
2.4 删除索引
      drop index 索引名
原创粉丝点击