2013-03-03 71 views
1

我正在開發一個應用程序,我可以選擇在數據庫中存儲布爾值或能夠從其他數據庫查詢中計算它?這將是一個更好的選擇?數據庫存儲vs應用程序邏輯

+0

難以回答的問題。想獲得最佳性能方面的建議嗎?計算一個值比分貝查詢更昂貴嗎?我認爲你沒有提供足夠的信息來獲取任何信息,但它真的取決於答案。將它存儲在數據庫中確實沒有什麼壞處。隨後可以隨時刪除列。 – Private 2013-03-03 21:36:04

+0

如果不知道更多關於你的用例的話,這太難說了。我想在大多數情況下 - 如果可能的話 - 間歇性地簡單地保存布爾值會更快,而不是每次都要計算它。或者,你可以創建一個通用的鍵/值表來保存計算和靜態,而不是從那裏工作。 – 2013-03-03 22:09:12

回答

0

如果你把它存儲在DB

缺點是:

  • 您可能需要更新它時,其他相關領域進行更新或刪除(通過觸發器或東西一樣)。
  • 你的db中會有冗餘數據。

優點是:

  • 你的查詢會更簡單,更具可讀性(一般模型和代碼的可讀性和可維護性將改善)

  • 你的查詢會更快。

考慮這些問題如此決定:

  • 是你正在談論容易計算領域還是需要更復雜的過程來計算? (涉及例如加入或查詢多個表格)

  • 該值是否經常變化?是否經常更新相關字段?

  • 數據是如此巨大以至於冗餘布爾型字段有什麼區別? (不太可能)

相關問題