Vous pouvez interroger ALL_CONSTRAINTS
vue des performances
pour voir par quelle contrainte l'index est utilisé et à quelle table il s'applique, par exemple :
select owner, constraint_name, constraint_type,
table_name, index_owner, index_name
from all_constraints
where index_name = 'PK_CHARGES';
Je m'attendrais à ce que le nom de la table soit 'CHARGES', que le nom de la contrainte corresponde au nom de l'index et que le type de contrainte soit 'P'. Mais puisque vous avez une table en tête, peut-être que les noms ne suivent pas une convention utile. Peut-être qu'une ancienne version de la table a été renommée, ce qui laisserait les contraintes par rapport au nouveau nom (par exemple, CHARGES_BACKUP
ou quelque chose).
Vous avez dit que vous cliquez sur le tableau, puis sur la vue. Peut-être que vous ne regardez pas la table sur laquelle se trouve la contrainte/l'index ; ou peut-être regardez-vous une vue au-dessus de la table réelle. Vous mentionnez également un SYS_
index sur les mêmes colonnes - qui ne peuvent pas être sur la même table. Avez-vous plusieurs tables similaires ou avez-vous accès à plusieurs schémas ? Vous devez également exécuter la requête ci-dessus pour cet index. Comme mentionné ci-dessus, vous pouvez trouver une ancienne version (ou des versions) de la table.
Une fois que vous avez identifié la table sur laquelle se trouve la contrainte, vous devrez décider si vous devez réellement la conserver, et si ce n'est pas le cas, vous pouvez la supprimer en supprimant la contrainte avec un ALTER TABLE
commande.