先找1,2没玩过的放在A里。 再找3,4没玩过的,放在B里,
然后找A,B没玩过的好像这个方法和上面的一样? 我再想想。反正我觉得你查找的方法把4个条件串联了不好

解决方案 »

  1.   

    不用两个表联合查询,你可以先select userid into :v_useid1 from table1 where cardNO=t2.cardNO ,把4个USERID取出来付给临时变量,
    再去TABLE2查找。就是把你的SQL语句拆开写。我想你可能是子查询
    造成慢的原因。你如果这样关联查询,可能消耗资源太大。
      

  2.   

    in操作在数据库中其实是迪卡尔积的运算,很费时间,所以应该尽量避免用in,如果不能避免那么最好作索引,要不然用存储过程试试...
      

  3.   

    我觉得你也应该把SQL语句拆开写,或者你转到数据库板块可能会有更好的解决办法!