Oracle PL/SQL编程风格与系统性能提高
http://tech.ddvip.com 2007年05月06日 社区交流
本文详细介绍Oracle PL/SQL编程风格与系统性能提高
1.2 编写可重用共享池中已有语句的SQL语句
共享内存缓冲区和后台进程合称为一个Oracle实例。当启动一个Oracle实例时,会有许多的Oracle后台进程被启动,每个进程都负责运行数据库的不同方面的处理,各进程通过共享内存彼此之间进行通信,该块内存就是系统全局区SGA。SGA被分隔为不同的区域,其中一个称作共享池(Shared Pool)的区域中包含了发送给数据库的SQL语句的正文和PL/SQL块,以及它们经过分析后的表示形式与执行方案,其中执行方案是数据库实际处理该语句的方法,例如,需要访问哪些表和索引、是否需要执行排序操作等等。
因为要执行一条SQL 语句,数据库就必须确定其执行方案。当数据库从客户应用程序接收到一条SQL语句时,它首先检查是否该语句在共享池中。若在,那么不重新对其分析而是重复使用已经在共享池中的形式及执行方案;若不在,则对该语句进行分析,得到新的分析形式与执行方案并进行存储,覆盖共享池中以前的内容。
由此可以看出,编写可重用共享池中语句的SQL语句就显得十分必要,因为避免不必要的重新分析,会很大程度上减小服务器所承担的工作量。要想重复使用共享池中的语句,就应该编写与其格式一致的语句,包括字母的大小写、标点符号、换行的位置等都要一致。下面推荐一种有效实用的方法。
1.2.1 SQL语句各部分的格式
一条语句可以一行也可以分多行书写,但最好换行书写,每一子句一行,且每行的第一个关键字与第一行的关键字的尾部对齐,这样做以确保每次使用同一条语句时分行的位置一致,而不要让语句在第80列偶然溢出到下一行,例如下面的格式中字母T、M、E、D、P是对齐的,一子句占了一行:SELECT col1,col2
FROM table—name1
WHERE col1 > col2
AND col2 > col3
GROUP BY col1;
责编:豆豆技术应用
- Oracle 10g 教程
- Oracle 故障处理
- Oracle 存储过程
- Oracle 备份恢复
- Oracle 性能调优
- Oracle 9i 教程
- Oracle 11g 教程
- Oracle 启动
- Oracle 命令
- Oracle 数据库管理
- Oracle 时间
- Oracle 密码
- Oracle 用户
- Oracle 常见错误
- Oracle 建数据表
- Oracle 索引
- Oracle 数据库连接
- Oracle 锁
- Oracle RAC 专题
- Oracle exp/imp 命令
- Oracle 表空间
- Oracle 查询
- Oracle 函数
- Oracle PL/SQL 专题
- 更多Oracle 专题>>>