Até o que eu sei .... quando vc cria uma constraint do tipo unique ou primary o 
Oracle automaticamente cria indices o tipo unique para estes ...e se remover a 
constraint o índice também é automaticamente removido... portanto não teria nem 
a necessidade de você criar o índice ix_temp pois o Oracle criou 
automaticamente para vc quando vc criou a constraint logo abaixo .... quanto a 
performance esse é o tipo de coluna boa para criação de indices (onde o 
distinct é alto) por isso que automaticamente ele cria ....a principio toda 
coluna que tiver constraints ele verifica a integridade antes .... mesmo que 
existam indices non-unique nestas colunas.
 
att.
 
Rosiano

        -----Mensagem original----- 
        De: [email protected] em nome de dbaoracle (candangoNET) 
        Enviada: ter 26/07/2005 11:30 
        Para: [email protected] 
        Cc: 
        Assunto: [oracle_br] Dúvida com UNIQUE constraint/índice
        
        

        Pessoal,
        
        Tenho a seguinte situação:
        
        
        create table temp (id number);
        create index ix_temp on temp(id);
        alter table temp add(constraint uk_temp unique (id));
        
        SQL> insert into temp values(1);
        1 row created.
        SQL> insert into temp values(1);
        insert into temp values(1)
        *
        ERROR at line 1:
        ORA-00001: restrição exclusiva (MANUTENCAO.UK_TEMP) violada
        
        A constraint UK_TEMP está fazendo o papel dela, mas vendo em
        user_indexes o índice não é UNIQUE, quando criamos uma constraint 
UNIQUE
        e as colunas referenciadas não estão indexadas o oracle se encarrega 
de
        criar um índice UNIQUE para as colunas.
        
        O que acontece quando as colunas já estão indexadas com um índice 
não
        UNIQUE. Como o oracle irá identificar a duplicidade dos registros? 
Terá
        uma camada intermediária que fará essa verificação? Com a criação 
da
        constraint dessa forma a performance será prejudicada?
        
        Obrigado,
        
        
        Murilo Lima
        Administrador de Banco de Dados Oracle
        [EMAIL PROTECTED]
        
        
        
        ______________________________________________________________________
        
        Histórico: http://www.mail-archive.com/[email protected]/
        Falar com os Moderadores:([EMAIL PROTECTED])
        Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar
        ______________________________________________________________________
        Links do Yahoo! Grupos
        
        
        
        
        
        
        
        



[As partes desta mensagem que não continham texto foram removidas]



______________________________________________________________________

Histórico: http://www.mail-archive.com/[email protected]/
Falar com os Moderadores:([EMAIL PROTECTED])
Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar 
______________________________________________________________________ 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a