Oracle PLSQL multiple result set nested loop processing optimization

 

 Oracle multiple result set nested loop processing optimization

--性能差
begin
 for a in (select id,name,sex,idcard from people) loop
    for b in (select id,name,sex,idcard from english) loop
       if a.idcard = b.idcard then
       --do something
       end if;
    end loop;
 end loop;
end;

--Excellent performance: Combine multiple tables into one result set, avoiding nested loops 
begin 
 for a in ( select p.id,p.name,p.sex,p.idcard from people p,english e where p.idcard = e.idcard) loop
        -- do something 
 end loop;
 end ;

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324985420&siteId=291194637