在一个拥有很多数据的数据库内
执行以下SQL:(都可很快获得结果)
SQL> select count(*)
  2  from WD               B,
  3  TNN                   C,
  4  DSLB                  A
  5  WHERE A.ID= C.ID AND B.NO = C.NO AND A.CONTENT = 'Y'
  6  ;  COUNT(*)
----------
    664090
/////////////////////////////////////////////////////////
SQL> select count(*)
  2  from WD B
  3  where B.CODE IN ('101', '102', '103', '104', '105', '106')
  4  ;  COUNT(*)
----------
    285080
然而,如果把第二个SQL查询条件合并到第一个中查询时,数小时都无结果出来:
SQL> select count(*)
  2  from WD               B,
  3  TNN                   C,
  4  DSLB                  A
  5  WHERE A.ID= C.ID AND B.NO = C.NO AND
  6  B.CODE IN ('101', '102', '103', '104', '105', '106') AND
  7  A.CONTENT = 'Y'
  8  ;
……不解,难道和临时表有关吗?想不出来,请高手解惑!