本帖最后由 Fly_m 于 2011-10-18 11:01:45 编辑

解决方案 »

  1.   

    SQL1,两个都走了全表扫描,而没有走索引
    而SQL2,运动员表查询的时候走了索引,
    为什么SQL1没有走索引?做个10053看看为什么没有走索引,在SQL1中通过index hints来强制SQL使用index.
    select /*+ index(t_sporter sys008388) */ t.name,b.id from t_sporter t,t_game_sporter b where b.sporter_id = t.idt_game_sporter(参赛运动员表)有sporter_id为null的情况,又怎么来写sql1呢?
    select t.name,b.id from t_sporter t,t_game_sporter b where b.sporter_id = t.id(+)