Oracle使用並行的坑,Oracle使用並行

來源:互聯網
上載者:User

Oracle使用並行的坑,Oracle使用並行

     現在要對5千萬資料的表刪除2千萬的資料,怎麼要快呢?直接刪肯定不行,最好的方法是:

     1.用create table as 

     2.並行建主鍵和索引

     問題來了,頭天晚上操作的,第二天上班發現了很嚴重的效能問題,那到底是什麼問題呢?來做個實驗吧!

SQL> create table test as select * from dba_objects where object_id is not null;
SQL> alter table test add constraint pk_t_object_id  primary key(object_id) parallel 16  nologging;
SQL> create index idx_t_object_name on test(object_name) parallel 16 nologging;
SQL> select s.table_name, s.degree
      from user_tables s
     where s.table_name = 'TEST';
TABLE_NAME                     DEGREE
------------------------------ -----------------
TEST                                   16

SQL> select s.index_name, s.degree
      from user_indexes s
     where s.table_name = 'TEST';
INDEX_NAME                     DEGREE
------------------------------ -----------------
PK_T_OBJECT_ID                 1
IDX_T_OBJECT_NAME              16

有兩個坑:1.你看錶的並行度是不是改變  2.索引的並行度是不是改變了

需要把並行度打回來

SQL> alter table test noparallel;
SQL> alter index idx_t_object_name  noparallel;
SQL> select s.table_name, s.degree
      from user_tables s
     where s.table_name = 'TEST';
TABLE_NAME                     DEGREE
------------------------------ --------------------
TEST                                    1
SQL> select s.index_name, s.degree
      from user_indexes s
     where s.table_name = 'TEST';
INDEX_NAME                     DEGREE
------------------------------ ---------------------
PK_T_OBJECT_ID                 1
IDX_T_OBJECT_NAME              1

   使用並行度造成效能問題的原因是:在未使用並行度的情況下,一條SQL只會在一個CPU上執行。如果加了並行,那就會在多個CPU上執行,在大量並發執行,勢必會引起爭用,在資料庫報告上會有db file parallel read的等待事件。

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.