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

ORACLE SQL性能优化大总结

ORACLE SQL性能优化大总结
1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
" ?; J) n+ v8 J- v" q    Oracle的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。假如有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.
7 Y6 A% _; P7 R$ K8 k+ i' B2 G(2) WHERE子句中的连接顺序.: 7 _' p! V& j0 t
    ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.
0 \  _- K* U7 q3 A- v  G(3) SELECT子句中避免使用 ‘ * ‘: " S. l, j9 `4 ^& Y7 K$ A
    ORACLE在解析的过程中, 会将'*' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间 / a" Q! e3 U2 s8 e+ S4 T
(4) 减少访问数据库的次数: 8 d0 y! R/ w! y. D8 t  e9 [7 I' ]# s
    ORACLE在内部执行了许多工作: 解析SQL语句, 估算索引的利用率, 绑定变量 , 读数据块等; ) T0 @  M; r( k8 H) @$ h
(5) 在SQL*Plus , SQL*Forms和Pro*C中重新设置ARRAYSIZE参数, 可以增加每次数据库访问的检索数据量 ,建议值为200 8 u% p8 @$ p9 t2 e' }4 B# }
(6) 使用DECODE函数来减少处理时间:
8 i- k$ O- d& k/ Q    使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表.
$ L; z2 I  g" x! s. r! E(7) 整合简单,无关联的数据库访问:
  I# L8 o9 F9 W7 i2 i3 n0 a" i    假如你有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使它们之间没有关系)
/ O3 W+ r; ^  t; s; E* t1 U' P(8) 删除重复记录: 8 v  P- d3 o$ z
    最高效的删除重复记录方法 ( 因为使用了ROWID)例子:
1 K5 I3 Y: X6 a  ]8 PDELETE from EMP E WHERE E.ROWID > (SELECT MIN(X.ROWID) / J5 ]1 Z7 x/ {0 K
from EMP X WHERE X.EMP_NO = E.EMP_NO); $ b  w: W3 J9 i/ Z) ^
(9) 用TRUNCATE替代DELETE: 9 y6 {7 l'


相关文档:

航空公司管理系统(VC++ 与SQL 2005)

系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
      这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......

Oracle的在线重定义

Basic Steps for Manual Online Reorganization Commands and procedures used:
1.DBMS_REDEFINITION.CAN_REDEF_TABLE
2.CREATE TABLE …
3.DBMS_REDEFINITION.START_REDEF_TABLE
4.DBMS_REDEFINITION.COPY_TABLE_DEPENDENTS and DBMS_REDEFINITION.CONS_ORIG_PAGRAMS
SELECT object_name,base_table_name, ......

搜集的一些LINQ to SQL的资料

MSDN: http://msdn.microsoft.com/en-us/library/bb386976.aspx (英文)
           http://msdn.microsoft.com/zh-cn/library/bb386976.aspx (中文)
ScottGu 的LINQ 系列:
Part 1: Introduction to LINQ to SQL
Part 2: Defining our Dat ......

SQL核心语句

    sql核心语句(非常实用的几个技巧)插入数据
           向表中添加一个新记录,你要使用 sql INSERT 语句。这里有一个如何使用这种语句的例子:
           INSERT mytable (mycolumn ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号