Mittwoch, April 30, 2014

Foreign Key Indizes und Spaltenreihenfolgen

Richard Foote hat in seinem Blog schon vor einiger Zeit die Frage beantwortet, ob ein zur Vermeidung von Locking Problemen für einen Foreign Key definierter Index in Reihenfolge und Spaltenauswahl der FK-Definition vollständig entsprechen muss - und die Antwort lautet: nein. Ähnlich wie im Fall eines Index zur Unterstützung eines PK-Constraints genügt es, wenn die führenden Spalten des Index denen des Constraints entsprechen, wobei die Reihenfolge keine Rolle spielt. Dazu gibt's dann natürlich auch ein Beispiel, das auch noch einmal die grundsätzlichen Vorteile der FK-Indizierung darstellt (Vermeidung kostspieliger Locks beim Löschen von PK-Einträgen der Parent-Tabelle, die schnell in deadlocks übergehen können).

Nachtrag 09.05.2014: Außerdem hat Richard Foote auch noch gezeigt, dass auch invisible indexes zur Vermeidung von Locking Effekten verwendet werden können, was wieder ein Hinweis darauf ist, dass man beim Löschen anscheinend nutzloser Indizes vorsichtig sein muss.

Keine Kommentare:

Kommentar veröffentlichen