Modifier la clé primaire

J'ai vu 2 approches pour modifier une clé primaire. l'approche 1, est une chose à laquelle j'ai supprimer la clé primaire (elle supprime l'index correspondant), puis de créer la clé primaire avec un nouvel indice en elle c'est à dire

alter table TABLE_NAME drop constraint PK_TABLE_NAME drop index;
alter table TABLE_NAME
add constraint PK_TABLE_NAME PRIMARY KEY ("COL1") 
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 
           PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) 
  TABLESPACE "USERS" ENABLE;
COMMIT;
/

La deuxième approche est de faire toutes les étapes indiviually c'est à dire

alter table TABLE_NAME drop constraint PK_TABLE_NAME;
drop index PK_TABLE_NAME;

CREATE UNIQUE INDEX PK_TABLE_NAME ON TABLE_NAME
(COL1)
LOGGING
TABLESPACE USERS
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       UNLIMITED
            PCTINCREASE      0
            BUFFER_POOL      DEFAULT
            FLASH_CACHE      DEFAULT
            CELL_FLASH_CACHE DEFAULT
           )
NOPARALLEL;

alter table TABLE_NAME add constraint PK_TABLE_NAME PRIMARY KEY ("COL1") USING INDEX PK_TABLE_NAME;
COMMIT;
/

Alors maintenant, mes questions sont les

  1. sont ces 2 approches a quelque chose de différent à l'arrière-plan, sauf pour le fait que les étapes sont séparées?
  2. Je vois que nous pouvons mentionner que le nom de la colonne wihtin des devis c'est à dire "COL1" ou sans les guillemets, c'est à dire COL1. Ces 2 approches ne fait aucune différence?
  3. Considérer ces étapes sont exécutées sur une table qui a des milliards DE DONNÉES, effectuez l'une de ces a aucun gain de performance sur les autres?

OriginalL'auteur x.509 | 2011-10-31