任務的階段信息直接存儲為JSON格式,這種格式避免了表關聯,避免建表,應用層處理也簡單的多了。
1. JSON內容為信息性質,而不具備非統計功能;簡單講就是展示,不能用於深度處理;
2. JSON內容不應該是多表需要的;比如一些信息其實是被多表共享的,這就不可以了,因為存在一個更新批量的問題;JSON內容一旦修改/創建其實是要影響多個表,那么慎用JSON;
3. JSON內容應該是依附性比較強,比如階段信息永遠都是依附於任務而存在,如果有邏輯要單獨針對“階段”內容進行處理,或者在表的概念上有需要以“階段表”做主表的情況下,JSON化慎用,最好是單獨處理為一張表。
4. JSON中的字段作為檢索條件的慎用,盡管MySql以及MongoDB都支持對於JSON的使用,但是如果數據庫服務器還要對JSON進行解析再處理無疑在效率上是有問題的。