sql >> Databáze >  >> RDS >> Oracle

PLSQL:Alternativa k uložené proceduře pro optimální výkon

V Oracle pro tento druh věcí běžně nepotřebujete používat globální dočasné tabulky, spíše můžete použít hromadné zpracování s poli:

declare
   cursor c is
      select col1, col2 from my_view;
   type t is table of c%rowtype;
   array t;
begin
   open c;

   loop
      fetch c bulk collect into array limit 1000;
      exit when array.count = 0;

      for i in 1..array.count loop
         null; -- Perform business logic on array(i) here
      end loop;

      forall i in 1..array.count
         insert into final_table (col1, col2)
            values (array(i).col1, array(i).col2);

   end loop;

   close c;
end;

To je jen minimální příklad – viz tento článek pro více podrobností.




  1. Replikace MySQL prostřednictvím tunelu SSH

  2. Moje webhostingová společnost říká, že s kódem PHP není něco v pořádku

  3. Jak mohu získat hash celé tabulky v postgresql?

  4. Jaký je nejrychlejší způsob, jak obnovit statistiky PostgreSQL od nuly/od nuly pomocí ANALYZE?