Hallo

 
> Damit die Referentielle Integrit�t schnell bearbeitet werden kann,
> braucht's halt einen Index. Je nach Modus sind halt unterschiedliche
> Indizes erforderlich. Du hast wohl angegeben, dass Daten�nderungen in
> der Referenztabelle an die Haupttabelle weitergegeben werden sollen;
> deshalb wird auch in der Tabelle 1 ein Index angelegt, damit eine
> �nderung der ID in Tabelle 2 auch schnell an die Tabelle1 
> weitergegeben
> werden kann. Man k�nnte darauf verzichten, weil es ja
> AutoInkrement-Werte sind, aber dann kann man ja auch auf die
> automatische Aktualisierung verzichten. Und hast Du noch nie eine ID
> tempor�r in eine Zahl umgewandelt, damit Du darin rumpfuschen kannst?
Einen Index auf der "Linken" Seite braucht es nur in 2 F�llen:
Aktualisieren des Index Wertes rechts
L�schen des Records (Indexes) rechts

Habe Aktualisier und L�schweidergabe ausgeschaltet.
Somit bleibt nur noch der Fall, dass Rechts ein Record gel�scht wird.
In diesem Falle muss nun das DBMS schauen, ob links ein Fremdschl�ssel auf
den zu l�schenden Record besteht. In dem falle (ausser L�schweitergabe) kann
der rechte Record nicht gel�scht werden.

In dem Falle kann man sehr gut ohne Ref. Integrit�t leben.
Beim Erfassen der Daten muss man ja so oder so validieren, ob der
Fremdschl�ssel existiert.
Da AutoIndex kann der Index Rechts nicht ge�ndert werden.
Wird der Record rechts gel�scht geh�rt meiner Meinung nach bei einem guten
Programmierstyl eh noch eine kurze Abfrage hinzu, ob nicht ev. noch Links
Fremdschl�ssel existieren, welche darauf hin zeigen.

Das Problem ist hier denn nat�rlich, dass man (wie du sagst) nicht weiss, ob
nicht mal auch ne andere Software auf den Datenbenstand zugreifft.

Aber echt... f�r Ref. Integrit�t ohne Aktualisier oder L�schwiedergabe
einfach kurz rasch einen Index erstellen finde ich ein bisschen einen
Overkill... sollte dem User �berlassen sein, ob ein Index erstellt werden
soll, oder nicht.
Gesetzten Falles:
Links: 1'000'000 Datens�tze; ofte Mutationen
Rechts 1000 Datens�tze, beinahe keinerlei Mutationen.
Da macht ein Index auf dem Fremdschl�ssel Links echt keinen Sinn. Bremst nur
aus.
Wird dann mal tats�chlich ein Record rechts gel�scht, muss das DBMS dann
halt die gesammten 1'000'000 Datens�tze absuchen, aber kann immer noch
performancem�ssig gescheiter sein, als immer einen unn�tigen Index pflegen.

Wenn ihr mich fragt, sollte der User die m�glichkeit haben, hier nach bedarf
einen Index zu erstellen, oder auch nicht.

MfG

| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an