总结完Oracle数据库的增删改查的操作之后,基本上涵盖了数据库基本应用。数据库的索引和分区也是一个重要的技术点,下面简单说一下数据库的索引和分区知识。
索引
创建数据库索引可以优化和提高数据库查询效率和性能。创建索引就是对某些特定列中的数据进行排序或归类,生成独立的索引表。
生成索引
create [unique]|[bitmap] index index_name
on table_name(column1,column2...|[express])
[tablespace tab_name] --tablespace表示索引存储的表空间
[pctfree n1] --索引块的空闲空间n1
[storage --存储块的空间
(
initial 64K --初始64k
next 1M
minextents 1
maxextents unlimited
)];
- UNIQUE表示唯一索引、BITMAP位图索引。
- 索引的类别:
- b-tree索引:Oracle数据中最常见的索引,没有特殊的应用要求
- bitmap位图索引:应用于列数据只有几个枚举值的情况
- 函数索引:应用于对某个字段做查询时经常带函数操作
- hash索引:使用hash索引必须使用hash集群
删除索引
drop index index_name;
重命名索引
alter index index_old rename to index_new;
合并索引
alter index index_name coalesce;
重构索引
alter index index_name rebuild;
查询索引
select t.INDEX_NAME, --索引名字
t.index_type, --索引类型
t.TABLESPACE_NAME, --表空间
t.status, --状态
t.UNIQUENESS --是否唯一索引
from all_indexes T
where t.INDEX_NAME='index_name';
分区:1、可以改善大型表的查询性能;2、更方便的管理数据表
创建分区
create table 表名
(
列名1 类型1,
列名2 类型2,
列名3 类型3
)
partition by range(列名)(
partition 分区名1 判断子句1
TABLESPACE 表空间1,
partition 分区名2 判断子句2
TABLESPACE 表空间2,
partition 分区名3 判断子句3
TABLESPACE 表空间3
);
- 上述是按照值范围进行分区
- 此外,还支持列表分区和散列分区
本文暂时没有评论,来添加一个吧(●'◡'●)