欢迎来到天天文库
浏览记录
ID:55829549
大小:177.50 KB
页数:59页
时间:2020-06-09
《oracle 教程 第5章 其他数据库对象.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章其他数据库对象5.1数据库模式对象5.2索引5.3序列5.4同义词5.5聚簇5.6数据库链接5.7练习这部分以后再讲但序列先介绍!5.1数据库模式对象Oracle数据库的模式对象如表5-1所示。表5-1Oracle数据库模式对象5.2索引5.2.1Oracle数据库的索引索引(INDEX)是为了加快数据的查找而创建的数据库对象,特别是对大表,索引可以有效地提高查找速度,也可以保证数据的惟一性。索引是由Oracle自动使用和维护的,一旦创建成功,用户不必对索引进行直接的操作。索引是独立于表的数据
2、库结构,即表和索引是分开存放的,当删除索引时,对拥有索引的表的数据没有影响。在创建PRIMARYKEY和UNIQUE约束条件时,系统将自动为相应的列创建惟一(UNIQUE)索引。索引的名字同约束的名字一致。索引有两种:B*树索引和位图(BITMAP)索引。B*树索引是通常使用的索引,也是默认的索引类型。在这里主要讨论B*树索引。B*树是一种平衡2叉树,左右的查找路径一样。这种方法保证了对表的任何值的查找时间都相同。B*树索引可分为:惟一索引、非惟一索引、一列简单索引和多列复合索引。创建索引一般要掌握
3、以下原则:只有较大的表才有必要建立索引,表的记录应该大于50条,查询数据小于总行数的2%~4%。虽然可以为表创建多个索引,但是无助于查询的索引不但不会提高效率,还会增加系统开销。因为当执行DML操作时,索引也要跟着更新,这时索引可能会降低系统的性能。一般在主键列或经常出现在WHERE子句或连接条件中的列建立索引,该列称为索引关键字。5.2.2索引的创建创建索引不需要特定的系统权限。建立索引的语法如下:CREATE[{UNIQUE
4、BITMAP}]INDEX索引名ON表名(列名1[,列名2,...])
5、;其中:UNIQUE代表创建惟一索引,不指明为创建非惟一索引。BITMAP代表创建位图索引,如果不指明该参数,则创建B*树索引。列名是创建索引的关键字列,可以是一列或多列。删除索引的语法是:DROPINDEX索引名;删除索引的人应该是索引的创建者或拥有DROPANYINDEX系统权限的用户。索引的删除对表没有影响。【训练1】创建和删除索引。步骤1:创建索引:CREATEINDEXEMP_ENAMEONEMP(ENAME);执行结果:索引已创建。步骤2:查询中引用索引:SELECTENAME,JOB,
6、SALFROMEMPWHEREENAME='SCOTT';执行结果:ENAMEJOBSAL---------------------------------------------------SCOTTANALYST3000步骤3:删除索引:DROPINDEXEMP_ENAME;执行结果:索引已丢弃。说明:本例创建的是B*树非惟一简单索引。索引关键字列是ENAME。在步骤2中,因为WHERE条件中出现了索引关键字,所以查询中索引会被自动引用,但是由于行数很少,因此不会感觉到查询速度的差别。【训练2】
7、创建复合索引。步骤1:创建复合索引:CREATEINDEXEMP_JOBSALONEMP(JOB,SAL);执行结果:索引已创建。步骤2:查询中引用索引:SELECTENAME,JOB,SALFROMEMPWHEREJOB='MANAGER'ANDSAL>2500;执行结果:ENAMEJOBSAL----------------------------------------------------BLAKEMANAGER2850CLARKMANAGER2850JONESMANAGER2975说明:
8、在本例中创建的是包含两列的复合索引。JOB是主键,SAL是次键。WHERE条件中引用了JOB和SAL,而且是按照索引关键字出现的顺序引用的,所以在查询中,索引会被引用。如下的查询也会引用索引:SELECTENAME,JOB,SALFROMEMPWHEREJOB='CLERK';但以下查询不会引用索引,因为没有先引用索引关键字的主键:SELECTENAME,JOB,SALFROMEMPWHERESAL>2500;5.2.3查看索引通过查询数据字典USER_INDEXES可以检查创建的索引。通过查询数据
9、字典USER_IND_COLUMNS可以检查索引的列。【训练1】显示emp表的索引:SELECTINDEX_NAME,INDEX_TYPE,UNIQUENESSFROMUSER_INDEXESWHERETABLE_NAME='EMP';执行结果:INDEX_NAME-------------------------------------------------------------------------------------------------------
此文档下载收益归作者所有