关于Oracle和PL/SQL的学习记录7

本文详细介绍了Oracle数据库中的索引和视图操作,包括创建唯一索引、单列索引、复合索引,如何重建和删除索引,以及创建简单和复杂视图。还探讨了通过视图插入、修改和删除数据,以及同义词、序列号的创建和管理,以及表空间的创建、扩充和删除等数据库管理操作。
摘要由CSDN通过智能技术生成

------索引与视图------
索引提供对数据表的快速访问,视图给数据表提供了另外一种数据组织方式
1.创建唯一索引
唯一索引是指索引的键值不重复,为表上的某字段创建唯一索引时,应确定该字段没有null值,否则在使用的时候会经常出错;唯一索引可以确保索引列不包含重复的值,在多列唯一索引的情况下,该索引可以确保索引列中每个值组合都是唯一的
create unique index un_sno on stu(sno asc);
在实际应用中,唯一索引一般采取自动创建方式,即在定义主键约束或唯一约束时,Oracle系统自动在相应的约束列上建立唯一索引
索引名称有一定命名规则,唯一索引一般加上前缀UN_;此外,在一个表中应是唯一的,但在同一个数据库或不同数据库中可以重复

2.创建单列索引
单列索引是指索引基于单个列所创建
在数据库中,单列索引允许数据库通过搜索索引找到特定的值,然后跟随指针到达包含该值的行,而不必扫描整个数据库,从而快速访问数据库表中的特定信息
create index index_age on stu(sage desc);
索引创建后,Oracle显示的索引类型为FUNCTION-BASED NORMAL,其意义为B树索引,即索引按B树结构组织并存放索引数据

3.创建复合索引
复合索引也称为组合索引,是指索引项是多个索引,即在索引建立语句中同时包含多个列名;由于复合索引包含多个索引项目,能形成索引覆盖,因此能提高where语句的查询效率
create index index_snodept on stu(sno desc,sdept);
创建该索引后,在stu表上使用where sno= and sdept = 之类的select语句的查询效率将大大提高
符合索引的使用原则是第一个条件应该是复合索引的第一列,且复合索引的顺序一定要和查询语句中where子句后的条件顺序相同才有效;此外,如果数据表过大,则有些列不适合作为索引(比如字符型长度超过40的),如果表是经常需要更新的也不适合做索引
复合索引的引用需要满足较多的条件,既要包含条件,又要保证条件的顺序,因此复合索引不能替代多个单一索引

4.使用alter index重建索引
重命名
alter index index_snodept rename to index_snd;
合并
alter index index_snd coalesce;
重建
alter index index_snd rebuild;
重建索引实际上就是对原有的索引的删除,再重新建一个新的索引,而索引的名称不变
合并索引和重建索引都能消除索引碎片,其区别在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值