打印本文 打印本文 关闭窗口 关闭窗口
SQL语句优化技术分析
作者:武汉SEO闵涛  文章来源:敏韬网  点击数4822  更新时间:2007/11/14 12:58:34  文章录入:mintao  责任编辑:mintao
的时间,而且可以减少共享内存重复的信息,ORACLE也可以准确统计SQL的执行频率。

 

WHERE后面的条件顺序影响

 

WHERE子句后面的条件顺序对大数据量表的查询会产生直接的影响,如

Select * from zl_yhjbqk where dy_dj = ''''1KV以下'''' and xh_bz=1

Select * from zl_yhjbqk where xh_bz=1  and dy_dj = ''''1KV以下''''

以上两个SQLdy_dj(电压等级)及xh_bz(销户标志)两个字段都没进行索引,所以执行的时候都是全表扫描,第一条SQLdy_dj = ''''1KV以下''''条件在记录集内比率为99%,而xh_bz=1的比率只为0.5%,在进行第一条SQL的时候99%条记录都进行dy_djxh_bz的比较,而在进行第二条SQL的时候0.5%条记录都进行dy_djxh_bz的比较,以此可以得出第二条SQLCPU占用率明显比第一条低。

 

查询表顺序的影响

FROM后面的表中的列表顺序会对SQL执行性能影响,在没有索引及ORACLE没有对表进行统计分析的情况下ORACLE会按表出现的顺序进行链接,由此因为表的顺序不对会产生十分耗服务器资源的数据交叉。(注:如果对表进行了统计分析,ORACLE会自动先进小表的链接,再进行大表的链接)

 

SQL语句索引的利用

对操作符的优化(见上节)

上一页  [1] [2] [3] [4] [5] [6]  下一页

打印本文 打印本文 关闭窗口 关闭窗口