Oracle 如何通过索引和约束提高表的创建速度?

Oracle 如何通过索引和约束提高表的创建速度?,oracle,Oracle,我必须创建500多个具有相同列、索引和约束的表 在下面的代码中,我创建了一个名为table_1的表,就像wise一样,我必须创建从table_1到table_500的表 创建500个表和索引需要更多的时间 有没有办法提高表格创建的速度 CREATE TABLE TABLE_1 (FEATURE_ID NUMBER(*,0) NOT NULL ENABLE, COL_1 VARCHAR2(3 CHAR),

我必须创建500多个具有相同列、索引和约束的表

在下面的代码中,我创建了一个名为table_1的表,就像wise一样,我必须创建从table_1到table_500的表

创建500个表和索引需要更多的时间

有没有办法提高表格创建的速度

CREATE TABLE TABLE_1 (FEATURE_ID NUMBER(*,0) NOT NULL ENABLE,  
                      COL_1 VARCHAR2(3 CHAR),  
                      COL_2 VARCHAR2(5 CHAR),  
                      COL_3 NUMBER(*,0),  
                      COL_4 NUMBER(*,0),  
                      COL_5 VARCHAR2(5 CHAR),  
                      COL_6 CHAR(5 BYTE),   
                      COL_7 NUMBER(*,0),  
                      COL_8 VARCHAR2(50 CHAR),  
                      COL_9 NUMBER(*,0),  
                      COL_10 VARCHAR2(20 CHAR),  
                      GEOMETRY SDO_GEOMETRY);                 

CREATE BITMAP INDEX TABLE_1_DM_IDX ON TABLE_1(COL_3);  

CREATE BITMAP INDEX TABLE_1_ATR_IDX ON TABLE_1(COL_4);  

CREATE INDEX TABLE_1_SPATIAL_IDX ON TABLE_1(GEOMETRY)  
INDEXTYPE IS MDSYS.SPATIAL_INDEX;  

ALTER TABLE TABLE_1 ADD CONSTRAINT TABLE_1_PK PRIMARY KEY (FEATURE_ID);      


ALTER TABLE TABLE_1 ADD CONSTRAINT TABLE_1_PK PRIMARY KEY (FEATURE_ID);

创建一个为您创建名称的PLSQL脚本

    begin
      for i in 1..500 loop
         execute immediate 'CREATE TABLE TABLE_'||i|| '
                            (FEATURE_ID NUMBER(*,0)  NOT NULL ENABLE,  
                             COL_1 VARCHAR2(3 CHAR),  
                             COL_2 VARCHAR2(5 CHAR), 
                             ... ';
         execute immediate 'CREATE BITMAP INDEX TABLE_'||i||'_DM_IDX ON TABLE_'||i||'(COL_3)';

         ... etc.

      end loop;
    end;
/

创建一个为您创建名称的PLSQL脚本

    begin
      for i in 1..500 loop
         execute immediate 'CREATE TABLE TABLE_'||i|| '
                            (FEATURE_ID NUMBER(*,0)  NOT NULL ENABLE,  
                             COL_1 VARCHAR2(3 CHAR),  
                             COL_2 VARCHAR2(5 CHAR), 
                             ... ';
         execute immediate 'CREATE BITMAP INDEX TABLE_'||i||'_DM_IDX ON TABLE_'||i||'(COL_3)';

         ... etc.

      end loop;
    end;
/