2009-12-16 105 views
0

我正在構建一個系統,數據將由用戶每30秒左右添加一次。在這種情況下,我應該進行批量插入(每2分鐘插入一次),還是每次用戶輸入數據時都要插入。該系統將建立在c#3.5和Sql服務器上。批量插入或一個接一個

+0

因爲系統崩潰,您能承受多少數據?如果您可能會失去2分鐘的價值而無任何影響,則一定要推遲您的寫作。但是,您的代碼複雜度會增加,因爲除了數據庫之外,您還將管理隊列。 – 2009-12-16 13:47:14

回答

2

從普通插入開始。你無處可去優化這一點。

如果性能成爲一個問題,或者很明顯它可能是一個問題,那麼只有這樣你才需要考慮優化 - 即使這樣,它可能不是插入問題!使用分析器來確定瓶頸。

0

這真的取決於你的要求,你能提供更多的信息嗎?

例如:

  • 你運行一個Web應用程序?
  • 數據是否對時間敏感(要被其他用戶使用)
  • 您是否必須擔心數據的併發使用?
  • 你在看什麼量的交易?

對於少量數據,我會根據用戶需要插入行,緩存的收益可能會很小,並且會簡化您的實現。如果使用率預計會很高,那麼請回頭看看優化設計。回到避免過早優化的一般規則:)

0

每30秒一次沒有顯着的壓力。按照KISS原則,在這種情況下,我更喜歡一個接一個。

0

如果是每30秒鐘一次,如果插入的速度應該是最快的(<大型數據爲2秒),我會立即插入。

如果您看到潛在的未來增長以查看更頻繁的交易,請考慮填充插頁。