开发高性能的数据库SQL

开发高性能的数据库SQL

ID:36501677

大小:153.50 KB

页数:27页

时间:2019-05-11

开发高性能的数据库SQL_第1页
开发高性能的数据库SQL_第2页
开发高性能的数据库SQL_第3页
开发高性能的数据库SQL_第4页
开发高性能的数据库SQL_第5页
资源描述:

《开发高性能的数据库SQL》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1SQL执行顺序1.1SELECT语句一般select语句处理按以下步骤顺序执行:1)建立游标。2)分析语句。3)定义输出:指定位置,类型,结果集的数据类型。4)绑定变量:如果查询使用变量的话,Oracle就要知道变量的值。5)是否能并行运行(如果有多个服务器时)。6)执行查询。7)检索出数据。8)关闭游标。1.2DML语句一般INSERT,UPADTE,DELETE语句处理执行顺序是:1)建立游标(Oracle建立一个隐含的游标。)2)分析语句。3)绑定变量:如果语句用了变量,Oracle要知道变量的值。4)看语句是否能以并行方式运行(如果有多

2、个服务器时)。5)执行语句。6)通知用户,语句已执行完毕。7)关闭游标。1.3COMMIT语句当事务提交时,Oracle分配一个唯一的顺序号SCN(SystemChangeNumber)给事务。数据库恢复总是基于该SCN号来进行处理。SCN号是记录在控制文件、数据文件、块头及重做日志文件中。Oracle在下面情况提交事务:  发出一个COMMIT语句、  执行DDL语句时、 离开Oracle时。Oracle处理COMMIT的顺序:1)服务器为每个COMMIT产生一个SCN。使改变永久化。1)LGWR进程将日志缓冲区数据并带有SCN一起写到重做日志

3、文件。2)服务器释放表级和行级锁。3)用户被提示COMMIT完成。4)服务器使事务已完成。1.1ROLLBACK语句当下面情况发生时,数据库执行回滚: 发出ROLLBACK命令、 服务器进程放弃地终止、 会话被DBA终止。ORACLE处理ROLLBACK的顺序:1)服务器进程不做任何的改变。2)服务器释放表级和行级锁。3)服务器使事务已完成。2访问表中记录2.1访问表中记录的方式ORACLE只有两种访问表中记录的方式:a. 全表扫描  全表扫描就是顺序地访问表中每条记录。ORACLE采用一次读入多个数据块(databaseblock)的方式优化全

4、表扫描。b. 通过ROWID访问表  你可以采用基于ROWID的访问方式情况,提高访问表的效率,ROWID包含了表中记录的物理位置信息,ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系。通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高。2.2SQL对表与索引的可能操作情况ORACLE的执行一个SQL对表与索引的可能操作情况有三种:A.只读表该情况只出现在全表扫描的情况。A.只读索引该情况只出现在全索引扫描的情况。Oracle对全索引扫描限制为SQL请求的全部列(colu

5、mn)必须驻留在索引树中;也就是说,SELECT和WHERE字句中的所有数据列必须存在于索引中B.读取索引和表最普遍的查询方式,数据库先根据索引查询到满足要求的rowid,再根据rowid查询表。1.1全表扫描与高水位线做全表扫描的时候,影响性能最大的不是表内记录数的多少,也不是该表所分配的空间,而是这个表的高水位线下的空间的大小。比如说表A,在创建的时候分配了100M空间,然后在表A内插入数据的时候,表A的高水位线下的空间会逐渐加大;而删除表内的数据的时候,表的高水位线并不会变化,也就是说高水位线下的空间不会减少。随着高水位线的不断上移,以上查

6、询的效率就会越来越低。1.1.1解除高水位线过高的处理移动表所在的表空间,然后再移回原来的表空间Altertabletable_namemovetablespacetablespace_name;缺点:需要足够的空间,并且需要另外一个足够空间的表空间,移动表后需重建该表的索引,需要放在系统空闲时做,会影响业务对该表的使用。Exp/imp将该表export后再import缺点:import前需要将该表drop,需要中断业务,有该表参与的过程,函数等需要进行重编译。将原表改名后重新建立新表再用insertintoselect方式转移数据缺点:需要中断

7、业务,需要足够的空间,比较移动表空间的方式可以在同一表空间上进行处理;改名时还需要对索引,约束,触发器等进行处理(影响建立新表)通过createtableaasselect*fromb建立表a保存数据,将表btruncate后将保存的数据用insertinto..select恢复。缺点:需要中断业务,需要足够的空间,存在外键时需要先drop外键1.2表与索引相关的系统对象dba_tables;dba_tab_cols;dba_tab_columns;dba_tab_comments;dba_indexes;dba_ind_columns;dba_

8、segments;user_tables;user_tab_cols;user_tab_columns;user_tab_comment

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。