Wir haben eine Zahlungstabelle und Agenten erhalten eine Provision für Zahlungen. Die Provision basiert auf einigen verschiedenen Faktoren, z. B. wie lange es gedauert hat, bis die Zahlung eingegangen ist. Daher sind einige Berechnungen erforderlich, um den Provisionssatz zu ermitteln, den der Agent erhält, aber nichts übermäßig Komplexes.
Zum Beispiel wird es wahrscheinlich nie komplexer sein als dieses:
SELECT Payments.Amount * CASE
WHEN DateDiff(year, Client.Received, Payments.DatePaid) = 1 THEN Rates.Rate1
WHEN DateDiff(year, Client.Received, Payments.DatePaid) = 2 THEN Rates.Rate2
ELSE Rates.Rate3 END
Wäre es sinnvoll, eine zweite Tabelle zu erstellen, in der diese Daten gespeichert sind, anstatt sie jederzeit abzufragen? Oder sollte ich mich einfach an Laufzeitabfragen halten, bei denen die Daten abgerufen werden, wann immer sie angefordert werden?
Und was noch wichtiger ist: Welche Faktoren müssen verwendet werden, um zu bestimmen, ob eine Abfrage ausgeführt werden soll, wann immer die Daten benötigt werden, oder ob die Daten in einer eigenen Tabelle gespeichert werden sollen?