何時該序列化物件到DB? When to serialize object to Database ?

  • 2871
  • 0
  • C#
  • 2013-07-27

摘要:何時該序列化物件到DB?

網路上有許多關於如何序列化物件到DB的文章,但是實際上這樣做有啥好處以及使用的時機卻沒有談到.
 
以下為筆者曾經使用到的時機 :
1.月報 , 有許多項目,但是最後只是需要彙總成數字
2.整潔評分之類的系統 , 會有許多項目需要評分,但最重要的不過是那個總分
3.客戶喜好,但通常沒啥使用到..你真的只需要儲存預設值...
 
這兩者共通之處都是都會有非常多的項目 , 但是其最終只是需要做彙總而已 ,
 
但若是因此在DB開了相對應的欄位,那欄位會非常的多..
 
對於維護以及CRUD都會是非常困擾的問題 ,
 
因此序列化到一個欄位會是比擁有許多NULL資料列較好的選擇 ,
 
但是這樣的方式並非沒有缺點,常見的缺點之一就是 , 
 
你會沒辦法使用SQL所能帶給你的好處,因此在部屬這功能之前 , 
 
你仍必須確定是否真的適合這個情境 , 若欄位需要較頻繁的update/insert等操作 , 那你必須要知道
 
Blob對這種操作是比較昂貴的 
 
參考資料來源: