Frage

Ist eine eindeutige Einschränkung ein Index standardmäßig? Wenn nicht, tut eine eindeutige Einschränkung die gleichen Performance-Ergebnisse als eine indexierte Spalte hat, wenn es in der SELECT ... WHERE-Klausel?

Danke

War es hilfreich?

Lösung

Eine eindeutige Einschränkung ist notwendigerweise ein Index. Sie definieren es in der Regel als „UNIQUE INDEX“. Ein Index würde auf jeden Fall erforderlich sein, effizient eine eindeutige Einschränkung zu implementieren, so dass man mit keinen Nachteil.

Andere Tipps

Eine Einschränkung ist tatsächlich sehr verschieden von einem Index: Es sagt nur, dass MySQL soll Einzigartigkeit für Sie erzwingen. Ein Index jedoch (obwohl es eindeutig sein) ist über die physikalische Ordnung auf der Festplatte oder über zusätzliche Strukturen (in der Regel ein Baum), die auf der Säule für eine effiziente Suche ermöglicht.

Sie könnten jedoch alles mit Primärschlüssel verwirrend sein, die einen (in der Regel geclustert) eindeutigen Index definieren.

Eine eindeutige Einschränkung ist eine Möglichkeit, die Tatsache zum Ausdruck, dass im Rahmen einer ganzen Beziehung ( „table“)).

etwas (wie eine Kombination von Attributwerten) muss eindeutig sein

Das ist auf der Ebene des logischen Entwurfs.

Ein Index ist ein möglicherweise nützliches Mittel helfen, eine solche Einschränkung zu erzwingen.

Das ist auf der Ebene des physikalischen Entwurfs.

Einige DBMS-Produkte können bestimmte physikalische Design-Konstrukte, wie das Vorhandensein irgendeinen Index ableiten, aus dem Vorhandensein von bestimmten logischen Design-Konstrukten, wie eine UNIQUE-Einschränkung. Andere vielleicht nicht.

UNIQUE ist eigentlich eine Einschränkung auf ein Index, also ja, impliziert UNIQUE, dass es einen Index auf dem Feld ist, dass Sie Einzigartigkeit auf sind erzwingen.

Überprüfen Sie die Primärschlüsselbedingung, bevor Sie eindeutige Einschränkungen beginnen.

Eine Primärschlüsselbedingung beträgt eine eindeutige Einschränkung und eine nicht NULL-Constraint zu deklarieren. Wenn es mehr als eine Spalte in der Primärschlüssel ist, wird jede Spalte eine NOT NULL, aber die eindeutige Einschränkung gilt für alle zusammengenommen Spalten.

Wenn Sie einen Primärschlüssel deklarieren, wird das DBMS einen Index für Sie erstellen. Sie können den Index löschen, wenn Sie mögen, aber Sie werden schreckliche Leistung erhalten, wenn das DBMS Tabellenscans tut für Eindeutigkeit zu überprüfen.

Primärschlüssel-Constraints Entitätsintegrität, während LITERATUR (Fremdschlüssel) Einschränkungen erzwingen referenzielle Integrität erzwingen. Gemeinsam gehen sie einen langen Weg zur Gewährleistung der Datenintegrität.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top