Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Aplicação de chave única/primária - índice de descarte


Você pode consultar o ALL_CONSTRAINTS visualização de desempenho para ver em qual restrição o índice é usado e a qual tabela ele se aplica, por exemplo:
select owner, constraint_name, constraint_type,
    table_name, index_owner, index_name
from all_constraints
where index_name = 'PK_CHARGES';

Eu esperaria que o nome da tabela fosse 'CHARGES', o nome da restrição correspondesse ao nome do índice e o tipo de restrição fosse 'P'. Mas como você tem uma tabela em mente, talvez os nomes não estejam seguindo uma convenção útil. Talvez uma versão antiga da tabela tenha sido renomeada, o que deixaria as restrições em relação ao novo nome (por exemplo, CHARGES_BACKUP ou alguma coisa).

Você disse que clica na mesa e depois na vista. Talvez você não esteja olhando para a tabela em que a restrição/índice está; ou talvez você esteja olhando para uma visão em cima da mesa real. Você também menciona um SYS_ index nas mesmas colunas - que não podem estar na mesma tabela. Você tem várias tabelas semelhantes ou acesso a vários esquemas? Você deve executar a consulta acima para esse índice também. Como mencionado acima, você pode encontrar uma versão (ou versões) antiga da tabela.

Depois de identificar em qual tabela a restrição está, você precisará decidir se realmente deve mantê-la e, caso contrário, poderá removê-la descartando a restrição com um ALTER TABLE comando.