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

Můžeme dynamicky specifikovat stupeň paralelismu?

Vivek,

Dynamický SQL můžete použít k vytvoření příkazu INSERT v rámci funkce nebo procedury PL/SQL. Tímto způsobem můžete využít proměnnou „stupeň“, kterou jste již získali.

Něco jako:

DECLARE
   degree varchar2(1); 
BEGIN 
   select value-2 
     INTO degree 
     from v$parameter
    where name='cpu_count';              

   EXECUTE IMMEDIATE('INSERT /*+ APPEND PARALLEL (tst, '||degree||') */ '||
                     '  INTO test_table tst ( '||
                     '       **************  '||
                     '       **************  '||
                     '       **************  '||
                     '  ) '||
                     'SELECT /*+  PARALLEL (a, '||degree||') */ '||
                     '       DISTINCT '||
                     '       ************** '||
                     '       ************** '||
                     '       ************** '||
                     '  FROM src_table a');
END; 


  1. Srovnání Oracle UCP, C3P0 a HikariCP

  2. Vyberte první řádek každé skupiny v sql

  3. Nejlepší způsob, jak se vypořádat s překlepy ve fulltextovém vyhledávání MySQL

  4. Jak fungují pohledy MySQL?