Oracle SQL优化技巧
	
    
    
	我觉得主要应该从5个方面进行调整: 
1.去掉不必要的大型表的全表扫描 
2.缓存小型表的全表扫描 
3.检验优化索引的使用 
4.检验优化的连接技术 
5.尽可能减少执行计划的Cost 
现在简单的举几个例子 
Where子句中有“!=”将不使用索引 
select account_name from test where amount != 0  (不使用) 
select account_name from test where amount > 0  (使用) 
Where条件中对字段增加处理函数将不使用该列的索引 
select * from emp where to_char(hire_date,'yyyymmdd')='20080411' (不使用) 
select * from emp where hire_date = to_char('20080411','yyyymmdd') (使用) 
避免在索引列上使用IS NULL 
select * from emp where dept_code is null  (不使用) 
select * from emp where dept_code > 0  (使用) 
IS NULL不會用到索引
而IS NOT NULL用到索引全掃描
通配符% 的使用 
select * from emp where name like '%A'  (不使用索引) 
select * from emp where name like 'A%'  (使用索引) 
可以通过建立反向索引
让select * from emp where name like '%A' 
也使用索引 
在含有子查询的SQL语句中,要特别注意减少对表的查询.例子: 
SELECT  EMP_NO from EMP WHERE (GROUP,NAME) = ( SELECT 
COLUMN1,COLUMN2 from  TEST WHERE  TEST_ID = 604) 
最高效的删除重复记录方法 ( 因为使用了ROWID)例子: 
DELETE  from  EMP E  WHERE  E.ROWID > (SELECT MIN(X.ROWID) 
from  EMP X  WHERE  X.EMP_NO = E.EMP_NO); 
sql语句用大写的;因为oracle总是先解析sql语句,把小写的字母转换成大写的再执行 
在java代码中用到preparedStatement的時候尽量少用连接符“+”连接字符串! 
    
     
	
	
    
    
	相关文档:
        
    
    sql*plus 命令
//执行脚本
@和start d:/a.txt;
//修改脚本
edit d:/a.txt;
//将内容输入到文本中
sloop d:/a.txt;  //开始记录屏幕内容
sloop off;  //记录结束
//链接登录数据库
connect system/919959 as sysdba/sysoper;  //权限最大dba
connect sys/919959;
connect scott/ti ......
	
    
        
    
    Oracle安装篇
版本:win32_11gR1_database_1013
系统:win7
内存:3g(偶自己地-0-)
1、因为操作系统选择了win7,所以在安装之选需要修改一下配置文件,database\stage\prereq\db\refhost.xml
2、修改完配置文件后,点install安装即可,等dos界面加载完后跳出如下界面
 
 3、下一步
4、选择企业版,然后 ......
	
    
        
    
    在相同操作系统环境下,相同版本Oracle数据库的迁移比较简单。
 
大致步骤:
1、确定源机的操作系统类型和版本,源机主机名;Oracle版本,安装目录,SID。
本例中,源机为:  Win2k Adv, ywxt,Oracle v8.17,  d:\oracle, orcl
目标机为:Win2003,ywxt,Oracle v8.17,  d:\oracle, orcl
  ......
	
    
        
    
    对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀。
 举例说明:
例如表:student(学生)表,表结构为:
ID       char(6)      --学号
name   ......
	
    
        
    
    大家都在讨论关于数据库优化方面的东东,刚好参与开发了一个数据仓库方面的项目,以下的一点东西算是数据库优化方面的学习+实战的一些心得体会了,拿出来大家共享。欢迎批评指正阿! 
SQL语句: 
是对数据库(数据)进行操作的惟一途径; 
消耗了70%~90%的数据库资源;独立于程序设计逻辑,相对于对程序源代码的优化,对SQ ......