select dictionary0_.*
  from SMP_RES_DICTITEMS dictionary0_, SMP_RES_DICTS dictionary1_
 where dictionary0_.DICT_ID = dictionary1_.ID
   and 1 = 1
   and dictionary1_.DICT_GROUP = '0'
   and dictionary1_.DICT_CODE = 'PROVINCE';
   
select *
  from SMP_RES_DICTITEMS t1
  join SMP_RES_DICTS t2
    on t1.dict_id = t2.id
   and t2.DICT_GROUP = '0'
   and t2.DICT_CODE = 'PROVINCE';

解决方案 »

  1.   

    1=1 只是起到连接作用,在第一个SQL没有什么用!基本上没有什么效率上的问题,只是第二个SQL是标准SQL而已。谈不上效率问题!
      

  2.   

    那个1=1是误写的,不好意思,也就是说这两个SQL的效率一样是么,不论表中记录多少,这两条SQL语句执行时间没有差别是么?
      

  3.   

    可以自己先写个存储过程,做些测试的数据出来,然后你可以在sqlplus中看下这两个sql语句的可执行计划啊!
      

  4.   

    尽量也标准的SQL,支持
    效率嘛,应该没什么差别吧