2013-10-15 19 views
0

我正在爲應用程序設計數據庫佈局,這將大量使用基於時間的查詢。我試圖找出哪個是DB佈局的最佳選擇。我控制插入/更新過程,但數據將反饋到各種Excel電子表格中,並且消費者會有所變化,因此期望能夠在客戶端做很多事情並不現實。任何字段都可以用於WHERE或ORDER BY。我的選擇是:計算日期選擇 - 拆分或連接?

  1. 存放的日期時間字段,並單獨計算的日期/時間字段
  2. 存儲的時間和日期字段,並計算時間字段
  3. 沒有計算領域 - 存儲所有3場seperately在INSERT /更新時間

計算字段而不是重複數據和風險不一致,這讓我決定是拆分日期時間,還是連接單獨字段以獲得所需的計算字段似乎更明智。

我的直覺告訴我,連接應該比分裂更有效率,但是它真的有很多嗎?

回答

1

選項1存儲日期時間字段並從中計算日期和時間部分應該沒問題。

我總是希望物理存儲更少的數據。

如果計算太複雜,但是會減慢你失望,你可能會考慮將它PERSISTED COMPUTED COLUMN這在某種程度上方案1和方案之間的折中3. (除了您不必手動插入)

有關持續計算列的更多信息,請參閱此link中的第3點。

+0

堅持計算的聲音就像我以後一樣。感謝您的快速回復! – timbstoke