本帖最后由 heiniu30 于 2009-06-24 13:09:01 编辑

解决方案 »

  1.   

    where条件是从右向左来取数据的。
    应该个人认为语句2速度更快一点。
      

  2.   

    经过测试,事实和我想象的不一样:
    SQL> set timing on
    SQL> ed
    Wrote file afiedt.buf  1* select empno from emp
    SQL> select dname from dept d,emp e where d.deptno=e.deptno and empno='7876';DNAME
    --------------
    RESEARCHElapsed: 00:00:00.03
    SQL> ed
    Wrote file afiedt.buf  1* select dname from dept d,emp e where empno='7876' and d.deptno=e.deptno
    SQL> /DNAME
    --------------
    RESEARCHElapsed: 00:00:00.01
    SQL> 
      

  3.   

    select * from table1 t1,table2 t2  where  t1.id=t2.id 
            and t1.field1='AA' and  t1.field2='BB' 
    快同意楼上的观点。
      

  4.   

    听说oracle 9 开始 的能自动优化。
      

  5.   

    1、select * from material t1,recordinfo t2 where  t1.materieldescription like '%1%' 
    and t1.newmateriel=t2.newmateriel
    2、select * from material t1,recordinfo t2 where t1.newmateriel=t2.newmateriel 
    and t1.materieldescription like '%1%'
    执行后消耗都如下,是否数据量比较少没有什么区别。                                                耗费     基数      字节                  
    SELECT STATEMENT, GOAL = ALL_ROWS 1547 29737 3955021
     HASH JOIN                 1547 29737 3955021
      TABLE ACCESS FULL TTTT MATERIAL 1090 33011 1650550
      TABLE ACCESS FULL TTTT RECORDINFO 145 47166 3914778
      

  6.   

    你把like换成t1.materieldescription =一个值,试试是否还一样
      

  7.   

    9I,10G后一般是用CBO成本
    所以结果应该是一样的
    一开始执行不一样是因为第一条语句有物理读
    第二次再执行时,已经到内存里了,少了物理读,所以快了
      

  8.   

    [北京睿朗阳光诚聘资深LINUX系统管理员]
    工作要求:
    1.计算机或相关专业本科以上学历,英语优良。
    2.五年以上linux/unix/BSD管理经验。拥有大型网站尤其是大型JAVA-based网站的集群以及管理经验。熟悉linux/unix 的管理,配置,备份及灾难恢复。熟悉集群的架设,负载均衡的设置。
    3.精通Mysql/Oracle,有相关数据库集群的架设经验,具有数据库优化经验。
    4.精通Apache TOMCAT/Jboss 的各项管理配置。
    5.精通C shell or Perl,精通各种Linux/unix 下软件的使用,如SSH SSL Iptables等。对网络安全有比较深刻的认识。能有效地防范网络攻击。北京睿朗阳光网络科技有限公司,是提供综合性彩票服务的龙头企业集团,拥有国际化的彩票系统技术解决方案,服务于东南亚、欧洲,及非洲多个国家。面向国内,旗下现有我中啦(www.wozhongla.com)、全国114彩票服务平台(http://www.114caipiao.com)、江西福利彩票服务平台(http://www.loto.jx.cn),以及上海福利彩票服务平台(http://www.loto.sh.cn)。2007年,公司实现销售额从零到4000万元人民币/月的骄人业绩,年收入达3亿多元人民币。
    2008年,公司成功地完成了从互联网彩票服务平台向手机、固话、互联网彩票综合服务平台的转型。为公司进一步的发展奠定了坚实基础。
    2009年,睿朗阳光正以全新的姿态蓄势待发,现提供优厚的薪金和福利待遇以及良好的发展空间,诚邀优秀技术开发人才的加盟!联系方式:
    地址:北京市朝阳区东三环中路39号建外SOHO8号楼 
    邮编:100022
    邮箱:[email protected]
     
    UID2010081 帖子3 精华0 积分16 经验值130 点 阅读权限10 在线时间0 小时 注册时间2009-6-24 最后登录2009-6-24 查看详细资料
     编辑 引用 评分 回复 TOP 
     
      

  9.   

    我不认同你的观点,我承认我说的那些没有什么根据,但是我没有胡扯
    CBO方式:它是看语句的代价(Cost),这里的代价主要指Cpu和内存。优化器在判断是否用这种方式时,主要参照的是表及索引的统计信息。统计信息给出表的大小、有少行、每行的长度等信息。这些统计信息起初在库内是没有的,是做analyze后才出现的,很多的时侯过期统计信息会令优化器做出一个错误的执行计划,因些应及时更新这些信息。从上面的话来看,我的理解是这样的cbo优化应该是在sql解析完成后,选择最优的方式去执行sql而where后面条件的顺序对sql的执行速度也是有影响的。具体见
    http://www.zxbc.cn/html/20080418/33450.html
    而我实际工作中也是这样的情况
      

  10.   

    10G开始统计信息是自动收集的
    9I的话不是
    如果没收集信息的话会按RBO,话说如果权重是一样的两个条件,是从上向上读的