通常我會處理具有派生於其組成成員或子成員的屬性的聚合或父實體。例如:關於預先計算的SQL屬性的指導
的
byte_count
和TcpConnection
對象從 計算其兩個組成TcpStream
對象,而這又是 從其構成TcpPacket
對象計算出來的相同的屬性的packet_count
。的
Invoices
對象可能有一個total
也就是它的 組成InvoiceLineItems
'價格SUM(),有一點運費,折扣和稅收 邏輯拋出。
當與處理數百萬個數據包或數百萬個開具發票的訂單項(我希望!),按需計算這些派生屬性 - 無論是在VIEW中還是更常用的演示邏輯(如報表或Web界面) - 往往令人無法接受地緩慢。
在性能問題迫使您的手之前,您是如何決定是否將派生屬性「提升」到預先計算的字段?
爲什麼這是社區Wiki? – RBarryYoung 2010-02-05 21:53:50
@RBarryYoung,我期望這個問題的答案更像是「來自經驗的智慧」,而不是「一個明顯正確的解決方案」。 – pilcrow 2010-02-05 22:50:11
pilcrow - 如果你希望人們根據他們的經驗*閱讀相對技術性的解釋*,你不應該把它變成一個社區維基。現在,如果問題是「您認爲SQL Server是否具有預計算字段的良好實現」或某種純粹的意見,那麼社區wiki將更合適。很多這裏最好的貢獻者(尤其是那些剛剛建立自己聲譽的新人)都是真正的角逐者! – 2010-02-07 15:41:03