Oracle
 sql >> Database >  >> RDS >> Oracle

Vincolo univoco senza indice

No, non puoi avere un vincolo UNIQUE in Oracle senza un indice corrispondente. L'indice viene creato automaticamente quando viene aggiunto il vincolo e qualsiasi tentativo di eliminare l'indice genera l'errore

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

In bocca al lupo.

MODIFICA

Ma tu dici "Diciamo che ho un grande tavolo". Quindi di quante righe stiamo parlando qui? Guarda, gli SSD da 1 TB costano meno di $ 100. I laptop quad-core costano meno di $ 400. Se stai cercando di ridurre al minimo l'utilizzo dello spazio di archiviazione o il consumo di CPU scrivendo un mucchio di codice con un'applicabilità minima per "risparmiare denaro" o "risparmiare tempo", il mio suggerimento è che stai sprecando entrambi tempo e denaro . Ripeto:UN TERABYTE di memoria costa come UN'ORA di tempo del programmatore. UN COMPUTER NUOVISSIMO DI MARCA costa quanto QUATTRO ORE SCOTTE del tempo del programmatore. È molto, molto meglio fare tutto il possibile per ridurre al minimo il TEMPO DI CODIFICA, piuttosto che i tradizionali obiettivi di ottimizzazione del tempo della CPU o dello spazio su disco. Pertanto, affermo che l'indice UNIQUE è la soluzione a basso costo.