易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle SQL的优化

想起来上次面试的时候那个面试官问我
“你对优化方面了解多少”
“ORACLE优化还是SQL优化”
“SQL优化”
“这个……不知道从何说起”
“呵呵,那我问你问题好了,问问就知道你大概什么水平了”
“呵呵,好吧”
……
结果好像不太理想,虽然最终还是拿到OFFER了,呵呵。今天看到篇SQL优化的文章,先记下来,下午有课,晚上回来了再看。
================================================================================
Oracle SQL的优化
SQL的优化应该从5个方面进行调整:
1.去掉不必要的大型表的全表扫描
2.缓存小型表的全表扫描
3.检验优化索引的使用
4.检验优化的连接技术
5.尽可能减少执行计划的Cost
SQL语句:
是对数据库(数据)进行操作的惟一途径;
消耗了70%~90%的数据库资源;独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低;
可以有不同的写法;易学,难精通。
SQL优化:
固定的SQL书写习惯,相同的查询尽量保持相同,存储过程的效率较高。
应该编写与其格式一致的语句,包括字母的大小写、标点符号、换行的位置等都要一致
ORACLE优化器:
在任何可能的时候都会对表达式进行评估,并且把特定的语法结构转换成等价的结构,这么做的原因是
要么结果表达式能够比源表达式具有更快的速度
要么源表达式只是结果表达式的一个等价语义结构
不同的SQL结构有时具有同样的操作(例如:= ANY (subquery) and IN (subquery)),ORACLE会把他们映射到一个单一的语义结构。
1 常量优化:
常量的计算是在语句被优化时一次性完成,而不是在每次执行时。下面是检索月薪大于2000的的表达式:
sal > 24000/12
sal > 2000
sal*12 > 24000
如果SQL语句包括第一种情况,优化器会简单地把它转变成第二种。
优化器不会简化跨越比较符的表达式,例如第三条语句,鉴于此,应尽量写用常量跟字段比较检索的表达式,而不要将字段置于表达式当中。否则没有办法优化,比如如果sal上有索引,第一和第二就可以使用,第三就难以使用。
2 操作符优化:
优化器把使用LIKE操作符和一个没有通配符的表达式组成的检索表达式转换为一个“=”操作符表达式。
例如:优化器会把表达式ename LIKE 'SMITH'转换为ename = 'SMITH'
优化器只能转换涉及到可变长数据类型的表达式,前一个


相关文档:

Oracle系列:LOB大对象处理

 Oracle系列:LOB大对象处理
 主要是用来存储大量数据的数据库字段,最大可以存储4G字节的非结构化数据。
 主要介绍字符类型和二进制文件类型LOB数据的存储,单独介绍二进制类型LOB数据的存储。
 
一,Oracle中的LOB数据类型分类
 1,按存储数据的类型分:
  ①字符类型:
 &nbs ......

Oracle系列:记录Record

 Oracle系列:记录(Record)
一,什么是记录(Record)?
 由单行多列的标量构成的复合结构。可以看做是一种用户自定义数据类型。组成类似于多维数组。
将一个或多个标量封装成一个对象进行操作。是一种临时复合对象类型。
 
 记录可以直接赋值。RECORD1 :=RECORD2;
 记录不可以整体比较. ......

Oracle 表空间基本操作

 
1. 查询数据库现在的表空间
select tablespace_name, file_name, sum(bytes)/1024/1024 table_size from dba_data_files group by tablespace_name,file_name;
 
2. 建立表空间
CREATE TABLESPACE data01 DATAFILE '/oracle/ ......

oracle client连接

最近一段时间一直没写博客,不是懒,是学了太多东西。以后慢慢补上。 1. odbc中添加oracle数据源 odbc中添加oracle数据源首要条件:安装oracle client。安装完之后添加,但是还必须在安装目录下通常是C:\oracle\ora90\network\ADMIN\tnsnames.ora中添加一个连接,如下格式: DXS =
  (DESCRIPTION =
  ......

关于Oracle 01122,01110,01207的错误和解决

 原创于2007年04月12日,2009年10月15日迁移至此。
windows xp,数据库oracle 10.2.0。1
没有备份,基本上是默认安装,好像还不是归档模式
症状:sqlplus只有sysdba用户能进去,其他用户进去一概报:ora-01033:oracle正在初始化或关闭
而且sysdba用户进去之后能执行select sysdate from dual,但是执行select use ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号