Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bisakah kita menentukan derajat paralelisme secara dinamis?

Vivek,

Anda dapat menggunakan SQL dinamis untuk membangun pernyataan INSERT Anda dalam fungsi atau prosedur PL/SQL. Dengan begitu Anda dapat menggunakan variabel "derajat" yang telah Anda ambil.

Sesuatu seperti:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cara mengatur output server menggunakan koneksi jdbc di Jmeter

  2. dapatkan kolom huruf kecil dari ResultSet menggunakan nama kolom

  3. POI Menambahkan .0 saat membaca data numerik dari excel

  4. kueri dinamis dalam prosedur Oracle menggunakan kursor

  5. Oracle Pilih Tanggal Maks pada Beberapa catatan