我们有一个付款表,代理商可以得到付款佣金。佣金基于几个不同的因素,例如获得付款所花的时间,因此在确定代理人获得的佣金率时需要进行一些计算,但是没有什么复杂的事情。
例如,它可能永远不会比这更复杂:
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
建立第二个表来保存此数据而不是在需要时查询它是否有意义?还是我应该坚持使用运行时查询来在需要时提取数据?
更重要的是,在确定是否需要查询数据时是否应该运行查询,或者是否应该将数据存储在自己的单独表中时,应使用哪些因素?