开发高性能数据库SQL.docVIP

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL执行顺序 SELECT语句 一般select 语句处理按以下步骤顺序执行: 建立游标。 分析语句。 定义输出:指定位置,类型,结果集的数据类型。 绑定变量:如果查询使用变量的话,Oracle就要知道变量的值。 是否能并行运行(如果有多个服务器时)。 执行查询。 检索出数据。 关闭游标。 DML语句 一般INSERT,UPADTE,DELETE 语句处理执行顺序是: 建立游标(Oracle建立一个隐含的游标。) 分析语句。 绑定变量:如果语句用了变量,Oracle要知道变量的值。 看语句是否能以并行方式运行(如果有多个服务器时)。 执行语句。 通知用户,语句已执行完毕。 关闭游标。 COMMIT语句 当事务提交时,Oracle分配一个唯一的顺序号SCN(System Change Number)给事务。数据库恢复总是基于该SCN号来进行处理。SCN号是记录在控制文件、数据文件、块头及重做日志文件中。 Oracle 在下面情况提交事务:??发出一个COMMIT语句、??执行DDL语句时、?离开Oracle时。 Oracle处理COMMIT的顺序: 服务器为每个COMMIT产生一个SCN。使改变永久化。 LGWR进程将日志缓冲区数据并带有SCN一起写到重做日志文件。 服务器释放表级和行级锁。 用户被提示COMMIT完成。 服务器使事务已完成。 ROLLBACK语句 当下面情况发生时,数据库执行回滚:?发出ROLLBACK命令、?服务器进程放弃地终止、?会话被DBA终止。 ORACLE处理ROLLBACK的顺序: 服务器进程不做任何的改变。 服务器释放表级和行级锁。 服务器使事务已完成。 访问表中记录a.?全表扫描??全表扫描就是顺序地访问表中每条记录。 ORACLE采用一次读入多个数据块(database block)的方式优化全表扫描。b.?通过ROWID访问表??你可以采用基于ROWID的访问方式情况,提高访问表的效率, ROWID包含了表中记录的物理位置信息ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系。 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高。Oracle对全索引扫描限制SQL请求的全部列(column)必须驻留在索引树中;也就是说,SELECT和WHERE字句中的所有数据列必须存在于索引中Alter table table_name move tablespace tablespace_name; 缺点:需要足够的空间,并且需要另外一个足够空间的表空间,移动表后需重建该表的索引,需要放在系统空闲时做,会影响业务对该表的使用。 Exp/imp 将该表export后再import 缺点:import前需要将该表drop,需要中断业务,有该表参与的过程,函数等需要进行重编译。 将原表改名后重新建立新表再用insert into select 方式转移数据 缺点:需要中断业务,需要足够的空间,比较移动表空间的方式可以在同一表空间上进行处理;改名时还需要对索引,约束,触发器等进行处理(影响建立新表) 通过create table a as select * from b建立表a保存数据,将表b truncate后将保存的数据用insert into ..select 恢复。 缺点:需要中断业务,需要足够的空间,存在外键时需要先drop外键 表与索引相关的系统对象 dba_tables; dba_tab_cols; dba_tab_columns; dba_tab_comments; dba_indexes; dba_ind_columns; dba_segments; user_tables; user_tab_cols; user_tab_columns; user_tab_comments; user_indexes; user_ind_columns; user_segments; 索引的组织结构 基本的多叉树索引 第一层为根节点,第二层为分叉节点,第三层为叶节点 索引的结构的变动 INSERT引起的索引结构变动 在INSERT数据时,索引的结构增加,索引占用的空间规模、扫描需要花费的时间规模、插入操作需要花费的时间规模增加。 问题:随着数据的增加,插入数据时对索引的变动花费的时间增加。 DELETE引起的索引结构变动 在delete数据时,在索引中仅置一标志,表明该数据被删除而不影响索引的基本结构。 重建索引 ALTER INDEX INDEXNAME REBUILD TABLESPACENAME; ORACLE优化器Oracle优化器 ?????ORACLE的优化器共有3种:RULE (

文档评论(0)

ipad0b + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档