3 Stimmen

Index auf jedem Fremdschlüssel?

Macht ein Index auf jedem Fremdschlüssel Abfragen optimiert ??

11voto

RC. Punkte 26365

Normalerweise wird es als gute Praxis angesehen, Indizes auf Fremdschlüssel zu platzieren. Dies geschieht, weil es die Join-Performance verbessert, wenn die FK-Tabelle mit der Tabelle verknüpft wird, die die Definition des Schlüssels enthält.

Dies macht Ihre gesamte Abfrage nicht magischerweise optimiert, aber es wird definitiv dazu beitragen, die Join-Performance zwischen dem FK und seinem Primärschlüssel-Gegenstück zu verbessern.

0voto

Jason Punkte 4397

Es könnte als gute Praxis angesehen werden, auf jeden Fremdschlüssel einen Index hinzuzufügen, aber Sie sollten gewarnt werden, dass wenn Sie eine große Datenbank haben, je mehr Indizes Sie haben, desto schwerer wird Ihr System. Es sind immer zusätzliche Wartungs- und Systemressourcenkosten erforderlich, wenn ein Index hinzugefügt wird.

Persönlich würde ich nur auf den Fremdschlüsseln Indizes hinzufügen, die in Abfragen verwendet werden, die optimiert werden müssen. Stellen Sie sicher, dass Ihre Indizes aktuell sind, indem Sie gelegentlich einen Profiler ausführen, um Ihr System zu überwachen.

0voto

DForck42 Punkte 18823

Ich habe das ein wenig getestet und keine Leistungssteigerung festgestellt, aber SQLMenace wird Ihnen etwas anderes sagen. Meiner Meinung nach sollten Sie es versuchen und sehen, ob es für Sie funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X