Jump to content

Nachträglich Primärschlüssel in Tabelle anlegen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Ein fortlaufender PK mit Index sollte beim Löschen alter Datensätze genauso gut funktionieren wie eine Datumsspalte mit Index. Im ersten Fall musst du aber zusätzlich noch den PK ermitteln der dem Datum löschen bis entspricht, das musst du bei einem Index auf der Datumsspalte nicht.

 

Das ist aber auch ein Job den man theoretisch Nachts bei niedriger DB Nutzung fahren kann, ich glaube da darf man auch mal einen Full-Table Scan wagen. Es sei denn das soll wirklich mehrfach täglich ausgeführt werden, dann lohnen die Kosten für den Index.

Geschrieben

Ein fortlaufender PK mit Index sollte beim Löschen alter Datensätze genauso gut funktionieren wie eine Datumsspalte mit Index. Im ersten Fall musst du aber zusätzlich noch den PK ermitteln der dem Datum löschen bis entspricht, das musst du bei einem Index auf der Datumsspalte nicht.

 

 

 

Dann überlege Dir mal, wie dieser PK ermittelt wird und ob ein sprechender Delete-Befehl performant ist.

Geschrieben

Was ist denn ein "sprechender Delete-Befehl"?

DELETE
FROM	tabelle
WHERE	datum <= '2015-01-01'

DELETE
FROM	tabelle
WHERE	pk <= 1000

Mit einem Index auf die jeweilige Spalte der WHERE Bedingung sollten gleich schnell sein. Für mich sind die auch beide "sprechend".

Geschrieben

Nichts anderes habe ich geschrieben, die Betonung lag auf zusätzlich im ersten Absatz.

 

Im zweiten Absatz plädiere ich aber für Abwägung zwischen laufendem Index oder nächtlichem oder anderweitig regelmäßigem full table scan.

Geschrieben

ok. Danke erst einmal für alle Antorten.

Dass Tabellen ohne PK eine ernsthafte Alternative sind, verwirrt mich allerdings schon ein wenig :)

Ich kläre weiteres mit den Server-Admins. Wartungspläne und so.

 

Gruß

Irmgard

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...