首页 第06章 索引与视图

第06章 索引与视图

举报
开通vip

第06章 索引与视图nullnull第6章 索引与视图6.1 管理索引索引与表和簇相关,用于缩短查询数据的时间 索引中存储了记录的关键字和ROWID 考虑按索引的逻辑设计、物理实现分类建立索引 索引的逻辑分类从应用的角度划分 索引的物理分类从其物理存储划分 索引在逻辑上和物理上都与相关表的数据无关 索引需要单独的存储空间。否则使用表所在表空间 创建或删除一个索引不会影响基于数据表的数据库应用或其他索引 创建索引后一般会增加数据更新操作的执行时间6.1 管理索引null Oracle数据库的索引模式1.索引概述(1) B-树索引 ...

第06章  索引与视图
nullnull第6章 索引与视图6.1 管理索引索引与表和簇相关,用于缩短查询数据的时间 索引中存储了 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 的关键字和ROWID 考虑按索引的逻辑设计、物理实现分类建立索引 索引的逻辑分类从应用的角度划分 索引的物理分类从其物理存储划分 索引在逻辑上和物理上都与相关表的数据无关 索引需要单独的存储空间。否则使用表所在表空间 创建或删除一个索引不会影响基于数据表的数据库应用或其他索引 创建索引后一般会增加数据更新操作的执行时间6.1 管理索引null Oracle数据库的索引模式1.索引概述(1) B-树索引 (2) B-树簇索引 (3) 散列簇索引 (4) 全局和本地索引 (5) 反序索引 (6) 位图索引 (7) 基于函数的索引 (8) 域索引 B-树索引(B-tree index)又称平衡树索引,是现代关系型数据库中最为普遍采用的索引null 管理索引的准则(1) 在表中插入数据后创建索引 (2) 索引正确的表和列 (3) 为性能而安排索引列 (4) 限制每个表的索引的数量 (5) 删除不再需要的索引 (6) 指定索引数据块空间使用参数 (7) 估计索引大小并设置存储参数 (8) 为每个索引指定表空间 (9) 考虑创建并行索引 (10) 考虑创建具有NOLOGGING的索引 (11) 考虑合并或重建索引时的损益 (12) 在停用或删除索引之前考虑开销1.索引概述null 如果满足如下条件则需要创建索引(1) 列有较大的取值范围 (2) 列有很多空值,但经常查询所有具有值的行 (3) 一列或多列被经常一起用于WHERE条件或连接条件 (4) 表很大,且大部分查询只返回不到2%~4%的数据行1.索引概述 具有如下一个或多个特征的列适合作索引列(1) 列中的值相对比较唯一 (2) 取值范围大(适合建常规索引) (3) 取值范围小(适合建位图索引) (4) 列中有许多空值,但经常查询所有具有值的行 LONG和LONG RAW列不能被索引null1.索引概述 创建索引的简要语法 CREATE [UNIQUE|BITMAP] INDEX [schema.]index ON [schema.]table (column [ASC | DESC] [, …] ) [INITRANS n] [MAXTRANS n] [PCTFREE n] [LOGGING | NOLOGGING [NOSORT] [STORAGE storage] [TABLESPACE tablespace] ;null 默认情况下,索引中数据按升序(ASC)排列1.索引概述 数据字典 USER_INDEXES USER_IND_COLUMNS例6.1 为雇员表emp建立以ename为索引列的索引,索引名为emp_ename_index,索引存放到表空间my_index。 EXA_06_01.SQL null 唯一索引可以保证在索引列上不会有两行相同的值 CREATE UNIQUE INDEX 语句2.创建唯一索引例6.2 为部门表dept的dname列创建唯一索引。 EXA_06_02.SQL 例6.3 唯一索引测试。 EXA_06_03.SQL null 位图索引适用于仅有几个固定值的列3.创建位图索引例6.4 给student表的性别列创建位图索引。 EXA_06_04.SQL 将整个位图索引段装入内存,地提高了查找效率 初始化参数CREATE_BITMAP_AREA_SIZE 默认值为8MB。 创建位图索引的限制 (1) 不能在全局分区索引上创建位图索引 (2) 不能同时指定UNIQUE和位图索引 (3) 不能在本地索引中使用位图索引 (4) 不能用位图索引来生成具有唯一性的索引和反序索引 CREATE BITMAP INDEX语句null 适用于经常执行以某种函数形式为条件查询数据的应用 因函数值已计算,极大地改善了查询的执行性能 基于函数的表达式索引列被称为虚列4.创建基于函数的索引例6.5 设student表的学生编号sno列的编码规则为:4位年+2位系别+2位班级+2位顺序号。为学号列按 年级 六年级体育公开课教案九年级家长会课件PPT下载六年级家长会PPT课件一年级上册汉语拼音练习题六年级上册道德与法治课件 查询学生的应用创建一索引。 EXA_06_05.SQL 在较早版本中,用户需具有如下之一系统特权 QUERY REWRITE CREATE ANY INDEXnull 索引默认保存到与表相同的表空间 在约束定义子句中,使用USING INDEX子句为约束指定存储空间5.设置与约束相关的索引例6.6 为student表name列的唯一约束指定索引表空间 EXA_06_05.SQL USING INDEX子句语法 USING INDEX [ [ schema.]index | ( create_index_statement ) | { LOCAL | global_partitioned_index } | { PCTFREE integer | INITRANS integer | MAXTRANS integer | TABLESPACE tablespace | storage_clause | { SORT | NOSORT } | logging_clause } ]null 必须为簇创建索引才能向簇表插入数据 创建簇索引不需要指定索引列6.创建簇索引创建簇索引语法 CREATE INDEX index_name ON CLUSTER [schema .] cluster_name index_attributes;null 当所有索引分区与表分区对应时,称为本地分区索引 全局分区索引的分区列与表分区无关7.对索引创建分区例6.7 建立本地索引,分区设置与创建表时一致EXA_06_07.SQL 用LOCAL指明建立本地分区索引 用GLOBAL指明建立全局分区索引通常全局分区索引比本地分区索引需要更多的维护开销例6.8 建立本地分区索引,省略分区设置 EXA_06_08.SQL 例6.9 分区名称与表分区名不一致,但分区数量一样 EXA_06_09.SQL 例6.10 建立本地分区索引,索引分区数量与表分区数量不一致 EXA_06_10.SQL 例6.11 建立全局分区索引 EXA_06_11.SQL null 导致删除索引的主要原因 (1) 不再需要该索引 (2) 索引没有提供所期望的性能改善 (3) 应用程序没有用该索引来查询数据 (4) 该索引已经变成无效 (5) 该索引已经变得太碎8.索引的删除与重建如何删除索引,取决于索引的创建方式 使用CREATE INDEX语句 定义主键或唯一约束删除索引语法 DROP INDEX index_name; 重建索引语法 ALTER INDEX [schema.]index REBUILD ONLINE;null 消除索引块中那些数据记录已经删除的无用索引项 重新平衡索引树9.索引的维护例6.12 紧凑并重建tudent表sno列基于函数的索引 EXA_06_12.SQL 例6.13 重建PK_EMP索引并指定新的数据块空间使用参数 EXA_06_13.SQL 例6.14 手工分配与回收索引空间。 EXA_06_14.SQL null10.索引使用的标识例6.15 查看scott用户的PK_EMP索引的使用情况。 EXA_06_15.SQL 索引使用的标识 开启对索引使用的监视 ALTER INDEX index MONITORING USAGE ; 查看动态性能监视视图v$object_usage 对索引使用情况的监视会降低数据库系统的性能 关闭对索引的监视 ALTER INDEX … NOMONITORING USAGE ;6.2 视图的创建与使用视图是一个基于基表和(或)其他视图的逻辑表 视图提供了从某个角度观察数据的窗口6.2 视图的创建与使用视图的作用具体表现为 (1) 限制用户对数据的访问 (2) 使复杂查询对报表等编程人员变得容易使用 (3) 为应用提供数据独立性 (4) 为相同的数据提供不同的视角创建视图的子查询不能使用序列,不可选取currval、nextval伪列 只有加别名才能使用rowid、rownum、level等伪列创建视图的子查询一般不应包含ORDER BY子句 最好不要在视图上再建视图 用DESCRIBE命令查看视图的结构null1.创建与删除视图 创建视图语法 CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view [(alias ,alias …)] AS subquery [ WITH CHECK OPTION [ CONSTRAINT constraint ] ] [ WITH READ ONLY [ CONSTRAINT constraint ] ] ;(1) 子查询中的表达式必须有别名 (2) FORCE:强制创建该视图 (3) WITH CHECK OPTION:DML语句操作的数据应满足视图定义时的条件 (4) WITH READ ONLY:视图只读 (5) CREATE子句指定的列名优先于在subquery中指定的列名null1.创建与删除视图例6.16 基于dept表创建一只读视图。 EXA_06_16.SQL 数据字典USER_VIEWS 删除视图语法 DROP VIEW [schema .] view [CASCADE CONSTRAINTS]; 重建视图带上OR REPLACE选项,语法如下: CREATE OR REPLACE VIEW view …… ;例6.17 为表emp建立视图v_emp_d20,只显示20号部门的雇员和他们的年收入。 EXA_06_17.SQL null2.对视图执行DML操作的限制 可以对简单视图(行列子集视图)执行DML操作 子查询包含如下内容,则不能通过它删除基表数据 (1) 分组函数 (2) GROUP BY子句 (3) DISTINCT关键字 (4) ROWNUM伪列 子查询包含如下内容,则不能通过它修改基表数据 (1) 分组函数 (2) GROUP BY子句 (3) DISTINCT关键字 (4) ROWNUM伪列 (5) 计算列 子查询包含如下内容,则不能通过它增加基表数据 (1) 分组函数 (2) GROUP BY子句 (3) DISTINCT关键字 (4) ROWNUM伪列 (5) 计算列 (6) 基表中的NOT NULL列未全被包含在子查询中null3.内嵌视图例6.18 查询各部门中除最高工资以外的人员信息。 EXA_06_18.SQL 内嵌视图(Inline Views)是一个写在SQL语句内的带有一个别名的子查询 内嵌视图不是数据库 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 对象 一般用于SELECT语句的FROM子句部分,为SELECT语句提供数据源
本文档为【第06章 索引与视图】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_994552
暂无简介~
格式:ppt
大小:377KB
软件:PowerPoint
页数:0
分类:其他高等教育
上传时间:2010-12-29
浏览量:35