前言 :
- 公司的MySQL數(shù)據(jù)庫(kù)因?yàn)閿?shù)據(jù)不停的累積,現(xiàn)在有優(yōu)化數(shù)據(jù)庫(kù)存儲(chǔ)的需求,而我目前能做的就是從各表在存儲(chǔ)數(shù)據(jù)時(shí),進(jìn)行字符串的"裁剪"和JSON串的"Key壓縮".
整體字段優(yōu)化情況統(tǒng)計(jì)(拿最大的一張表進(jìn)行分析) :
字段|原始值(請(qǐng)求返回值)|長(zhǎng)度|預(yù)期值(數(shù)據(jù)庫(kù)內(nèi)的形式)|長(zhǎng)度|處理方式|涉及api|涉及api個(gè)數(shù)|字段非空比|壓縮效果(單字段前后)|壓縮效果(整表)|是否已處理
-|-|-|-|-|-|-|-|
picsList|P|163|p|99|裁切|GET : v2/XXX|1|100.00%|39.26%(163-99)/163|1.54%(163-99)/(163+86+...+685)* 100%|是
certifications|c|86|c|65|裁切+JsonKey縮寫(xiě)|GET : v2/XXX|1|2.61%|24.42%|0.01%|否
activities|a|206|a|136|JsonKey縮寫(xiě)|GET : v2/XXX|1|51.06%|33.98%|0.86%|否
sku_model|s|985|s|787|JsonKey縮寫(xiě)|GET : v2/XXX|1|100.00%|20.10%|4.78%|否
impressions|i|175|i|111|JsonKey縮寫(xiě)|GET : v2/XXX|1|29.11%|36.57%|0.45%|否
descriptions|d|1845|d|1205|裁切|GET : v2/XXX|1|100.00%|34.69%|15.44%|是
parameters|pa|685|pa|552|JsonKey縮寫(xiě)|GET : v2/XXX|1|100.00%|19.42%|3.21%|否
總結(jié) :
- 算是從字符串入庫(kù)時(shí)存儲(chǔ)及讀取時(shí)做一些操作,利用計(jì)算換取空間的方法
- 預(yù)計(jì)解決方案為
- 裁切 : 對(duì)字符串中固定的格式進(jìn)行裁切存儲(chǔ),之后再在服務(wù)器響應(yīng)請(qǐng)求時(shí)做還原(兼容格式)
- JsonKey縮寫(xiě) : 完整的駝峰式 JsonKey 如 :"jsonKey"簡(jiǎn)化為 "jK", 具體實(shí)現(xiàn)方式為 JsonProperty 注解使用在get 和 set方法上,需自己?jiǎn)卧獪y(cè)試,參考: 此鏈接