讀書筆記之資料庫動態擴充套件-json
阿新 • • 發佈:2018-12-10
隨著開發的後續進行,專案的屬性越來越多,新增加表或者修改表結構代價太大了,因此需要資料庫的動態擴充套件。
網上大致有四種方法動態擴充套件:
1.基於xml,用xml來儲存。
2.預留足夠的欄位空間。
3.用json儲存屬性。(這篇文章只講這個)
4.改列為行,用另一個表來進行儲存資料。
這裡只講用json儲存資料的方法。
如下圖所示用json儲存不同商品的屬性:
id | ext |
1 | {“phone”:“iphone5”,“weigth”:“170g”...} |
2 | {“computer”:“lenovo”,“processor”:“i7”.,,} |
每條屬性裡面都有大量相同的key,因此對key進行壓縮(將key用單獨的表儲存,優點是可以單獨管理key和value),類似下面這種:
key_id | 校驗 | show | desc | ... |
1 | 32字元 | 手機 | phone | ... |
2 | 32字元 | 電腦 | computer | ... |
3 | int | 重量 | weight | ... |
4 | 16字元 | 處理器 | processor | ... |
id | ext... |
1 | {“1”:“iphone5”,“3”:“170g”...} |
2 |
{“2”:“lenovo”,“4”:“i7”.,,} |
對不同屬性進行查詢
在資料量比較大的時候對屬性的查詢是很耗費時間的。根據上面參考文件的作者的方法構建代價有點大,需要自己搭建相應的服務來支援查詢。目前我還沒有找到能夠在大量屬性查詢的情況下進行快速搜尋的方式。如果有請告知一下。謝謝。