下载此文档

开发高性能数据库SQL.doc


文档分类:IT计算机 | 页数:约27页 举报非法文档有奖
1/27
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/27 下载此文档
文档列表 文档介绍
SQL执行顺序SELECT语句一般select语句处理按以下步骤顺序执行:建立游标。分析语句。定义输出:指定位置,类型,结果集的数据类型。绑定变量:如果查询使用变量的话,Oracle就要知道变量的值。是否能并行运行(如果有多个服务器时)。执行查询。检索出数据。关闭游标。DML语句一般INSERT,UPADTE,DELETE语句处理执行顺序是:建立游标(Oracle建立一个隐含的游标。)分析语句。绑定变量:如果语句用了变量,Oracle要知道变量的值。看语句是否能以并行方式运行(如果有多个服务器时)。执行语句。通知用户,语句已执行完毕。MIT语句当事务提交时,(SystemChangeNumber)给事务。号来进行处理。SCN号是记录在控制文件、数据文件、块头及重做日志文件中。Oracle在下面情况提交事务:  MIT语句、  执行DDL语句时、 离开Oracle时。 MIT的顺序:。使改变永久化。一起写到重做日志文件。服务器释放表级和行级锁。MIT完成。服务器使事务已完成。ROLLBACK语句当下面情况发生时,数据库执行回滚: 发出ROLLBACK命令、 服务器进程放弃地终止、 会话被DBA终止。ORACLE处理ROLLBACK的顺序:服务器进程不做任何的改变。服务器释放表级和行级锁。服务器使事务已完成。访问表中记录访问表中记录的方式 ORACLE只有两种访问表中记录的方式:a. 全表扫描  全表扫描就是顺序地访问表中每条记录。ORACLE采用一次读入多个数据块(databaseblock)的方式优化全表扫描。b. 通过ROWID访问表  你可以采用基于ROWID的访问方式情况,提高访问表的效率,ROWID包含了表中记录的物理位置信息,ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系。通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高。SQL对表与索引的可能操作情况 ORACLE的执行一个SQL对表与索引的可能操作情况有三种:只读表 该情况只出现在全表扫描的情况。只读索引 该情况只出现在全索引扫描的情况。Oracle对全索引扫描限制为SQL请求的全部列(column)必须驻留在索引树中;也就是说,SELECT和WHERE字句中的所有数据列必须存在于索引中读取索引和表 最普遍的查询方式,数据库先根据索引查询到满足要求的rowid,再根据rowid查询表。全表扫描与高水位线做全表扫描的时候,影响性能最大的不是表内记录数的多少,也不是该表所分配的空间,而是这个表的高水位线下的空间的大小。比如说表A,在创建的时候分配了100M空间,然后在表A内插入数据的时候,表A的高水位线下的空间会逐渐加大;而删除表内的数据的时候,表的高水位线并不会变化,也就是说高水位线下的空间不会减少。随着高水位线的不断上移,以上查询的效率就会越来越低。 解除高水位线过高的处理移动表所在的表空间,然后再移回原来的表空间Altertabletable_namemovetablespacetablespace_name;缺点:需要足够的空间,并且需要另外一个足够空间的表空间,移动表后需重建该表的索引,需要放在系统空闲时做,会影响业务对该表的使用。Exp/imp将该表export后再import缺点:import前需要将该表drop,需要中断业务,有该表参与的过程,函数等需要进行重编译。将原表改名后重新建立新表再用insertintoselect方式转移数据缺点:需要中断业务,需要足够的空间,比较移动表空间的方式可以在同一表空间上进行处理;改名时还需要对索引,约束,触发器等进行处理(影响建立新表)通过createtableaasselect*fromb建立表a保存数据,将表btruncate后将保存的数据用insertinto..select恢复。 缺点:需要中断业务,需要足够的空间,存在外键时需要先drop外键表与索引相关的系统对象 dba_tables; dba_tab_cols; dba_tab_columns; ments; dba_indexes; dba_ind_columns; dba_segments; user_tables; user_tab_cols; user_tab_columns; ments; user_indexes; user_ind_columns; user_segments;索引的组织结构 基本的多叉树索引NULL-B1MOVE-B2Null-L1Bolan-L2Floyd-L3Move-L4Queen-L5Ziggy-rowidPxcrowidQueenrowidRacrowidRdgrowidZiggyrowidZxcrowid第一层为根节点,第二层为

开发高性能数据库SQL 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数27
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ipod0b
  • 文件大小88 KB
  • 时间2019-03-25
最近更新