Oracle
 sql >> Base de données >  >> RDS >> Oracle

Contrainte d'unicité sans index

Non, vous ne pouvez pas avoir de contrainte UNIQUE dans Oracle sans index correspondant. L'index est créé automatiquement lorsque la contrainte est ajoutée et toute tentative de suppression de l'index entraîne l'erreur

ORA-02429: cannot drop index used for enforcement of unique/primary key

Bonne chance.

MODIFIER

Mais vous dites "Disons que j'ai une grande table". Alors, de combien de lignes parlons-nous ici ? Regardez, les SSD de 1 To coûtent moins de 100 $. Les ordinateurs portables quadricœurs coûtent moins de 400 $. Si vous essayez de minimiser l'utilisation du stockage ou la combustion du processeur en écrivant un tas de code avec une applicabilité minimale pour "économiser de l'argent" ou "gagner du temps", ma suggestion est que vous perdez les deux temps et l'argent . Je répète - UN TERABYTE de stockage coûte la même chose qu'UNE HEURE de temps de programmeur. UN ORDINATEUR BRAND FESSING NEUF coûte la même chose que QUATRE MAUVAISE HEURES de temps de programmeur. Vous feriez bien, bien mieux de faire tout ce que vous pouvez pour minimiser le TEMPS DE CODAGE, plutôt que les objectifs d'optimisation traditionnels du temps CPU ou de l'espace disque. Ainsi, je soutiens que l'index UNIQUE est la solution à faible coût.