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

sql优化扫盲

1.oracle扫描的顺序为从下到上,从右到左
           所以我们要尽可能的把数据少的表放在后面,交叉表放在后面,最能过滤的条件放在后面
2.不要在索引上使用计算和not操作符
           索引一旦参与计算或使用了not操作符,oracle将会忽略这个索引
3.尽量使用in和and,尽量避免使用or,or会产生大量的过滤 ,直接导致逻辑读大量增加
4.必要时使用autotrace(sqlplus中有效,PL/SQL中无效)
           命令:set autotrace on;
           规则:尽量减少逻辑读,应该避免物理读,提高缓冲区命中率 ,最好保持在95%以上。
           recursive calls      递归调用
           db block gets       数据块读取
           consistent gets    一致性读取
           physical reads      物理读取
           redo size              产生的重做日志大小
逻辑读=consistent gets + db block gets
缓冲区命中率=(逻辑读-物理读)/逻辑读
一个进程可能对以后能够数据块中多个session。
sql优化最重常用的是办法是:审视sql语句
也可以执行这条sql来查找非常耗费空间的sql:
select sql_text ,sharable_mem from v$sql where sharable_mem > '100000' order by sharable_mem ;


相关文档:

提高SQL执行效率的几点建议

from子句中写在最后的表(基础表,driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。
 
  提高SQL执行效率的几点建议:
  ◆尽量不要在where中包含子查询;
  关于时间的查询,尽量不要写成:where to_char(dif_date,'yyyy-mm-dd')=to_char('2007-07-01',' ......

SQL查询重复数据和清除重复数据


有例表:emp
emp_no   name    age    
    001           Tom      17    
    002       &nb ......

SQL 字符串拆分

       有这样一个字符串(中,国,中,人民,国,现代工业化进程,国)
处理过之后变成(中,国,人民,现代工业化进程)
 
        以下是我的方法,有什么不对的地方还请各位指点
 ------------------删除重复的字符
 declare
@v1 nvarchar
......

Pl/sql 的自动提示和提交(commit)

自动提示的快捷键:F6
可以更改:Tools->Preferences->User interface->Key Configuration ,在Item列里找到“Tools/Code Assistant”,在后面对应的快捷改成自己喜欢的。
默认是不能自动提交的,按 F10 键可以在做更改后提交。 ......

sql查询

1、查询三门功课都在80分以上的同学姓名(一条sql语句)
   name   kecheng    fenshu
   张三   语文        78
   张三   数学        81
   张三  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号