Hi,
Zitat von
Nightfly:
Hmmm..eigentlich hast du ja recht....aber ich hätt'S trotzdem gern so
schön für Dich: Dennoch lege ich noch einen drauf: Sobald mehrere leute auf die Datenbank zugreifen und zufällig gleichzeitig einen Datensatz für die 100er Reihe einfügen oder bearbeiten wird nur einer gespeichert werden - alle anderen werden einen Deadlock-Fehler auf dem Bildschirm sehen, weil alle auf einen bestimmten Datensatz zugreifen und ändern wollen! Man kann das zwar über eine Hilfstabelle regeln, d.h. wenn der eigentlich zu ändernder Datensatz gesperrt ist, dann wird in die Hilfstabelle ein temporärer Eintrag gemacht, bringt aber wieder nen erhöhten Aufwand bei der Abfrage mit sich. Da muss dann nämlich nachgeschaut werden, ob in dieser Hilfstabelle Einträge drin stehen.
Es macht also schlicht keinen Sinn (wie schon gesagt wurde) berechnete WErte in einer Datenbank zu speichern.
Zudem fällt mir gerade ein: Ich denke Dein Wunsch alles in einer Tabelle zu regeln wird nicht gehen, wenn Du auch nen Update-Trigger dafür verwenden willst. Denn sobald Du den Wert für 100 per Update ändern willst, wird der feuern und einen Wert ändern wollen, was dazu führt, dass der Update-Trigger wieder feuert...., d.h. Du wirst innerhalb kürzester Zeit Deinen Server lahmlegen.... Wäre aber mal interessant zu testen, was dann passiert....
Grüße
Lemmy
P.S.: Noch was: Wenn Du den Datensazt jedesmal löschen willst kannst Du doch gleich hergehen und die Abfrage, die Du für die Aktualisierung der Spalte benötigst auch gleich zur Abfrage verwenden. Vorteil: Der Wert wird nur noch dann berechnet, sobald er benötigt wird und Du brauchst nicht unbedingt eine Konstruktion die (zumindest aus meiner Sicht) keinen Sinn ergibt! Von der Tatsache mal abgesehen, dass bei umfangreichen Arbeiten deine Datenbankdatei sehr schnell sehr groß werden wird (dauerndes delete und insert)
Grüße
Lemmy