sql >> Database >  >> RDS >> Mysql

Betekent een 'uniek' kolomveld een index met MySQL, en zo ja, waarom?

Ja. Het is echter niet per se 'automatisch', het is impliciet. UNIQUE is type van index, dus die kolom is natuurlijk geïndexeerd.

Omdat het dwaas zou zijn voor MySQL om een ​​volledige tabelscan uit te voeren op elke INSERT /UPDATE om de unieke beperking te handhaven.

Bewerken :

Waarom zou een programmeur de basisgegevensintegriteit handmatig willen afdwingen buiten de gegevensopslaglaag? Ik begrijp waar je hiermee naartoe wilt, maar het feit is dat een index onmogelijk pijn kan doen alles (het neemt alleen wat meer ruimte in beslag) - dus er is niet echt een beslissing om te overwegen.




  1. PostgreSQL 'NIET IN' en subquery

  2. Invoer bijwerken ZONDER tijdstempel bij te werken

  3. OracleCommand SQL-parameters Binding

  4. Opgeslagen T-SQL-procedure die meerdere id-waarden accepteert