成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

啥,又要為表增加一列屬性?

開發 開發工具
今天分享2個列擴展性設計上幾個小技巧,只占大伙1分鐘。

需求緣起

產品***版:用戶有用戶名、密碼、昵稱等三個屬性,對應表設計:

user(uid, name, passwd, nick)

第二版,產品經理增加了年齡,性別兩個屬性,表結構可能要變成:

user(uid, name, passwd, nick, age, sex)

假設數據量和并發量比較大,怎么變?

(1)alter table add column?不太可行,鎖表時間長

(2)新表+觸發器?如果數據量太大,新表不一定裝得下,何況觸發器對數據庫性能的影響比較高

(3)讓dba來搞?新表,遷移數據,一致性校驗,rename?dba真苦逼

今天分享2個列擴展性設計上幾個小技巧,只占大伙1分鐘(下班太晚的話,只能寫一分鐘系列=_=)

[[179110]]

方案一:版本號+通用列

以上面的用戶表為例,假設只有uid和name上有查詢需求,表可以設計為

user(uid, name, version, ext)

(1)uid和name有查詢需求,必須設計為單獨的列并建立索引

(2)version是版本號字段,它對ext進行了版本解釋

(3)ext采用可擴展的字符串協議載體,承載被查詢的屬性

例如,最開始上線的時候,版本為0,此時只有passwd和nick兩個屬性,那么數據為:

只有passwd和nick兩個屬性的數據

當產品經理需要擴展屬性時,新數據將版本變為1,此時新增了age和sex兩個數據,數據變為:

新增了age和sex兩個數據的數據

優點:

 

(1)可以隨時動態擴展屬性

(2)新舊兩種數據可以同時存在

(3)遷移數據方便,寫個小程序將舊版本ext的改為新版本的ext,并修改version

不足:

(1)ext里的字段無法建立索引

(2)ext里的key值有大量冗余,建議key短一些

改進:

(1)如果ext里的屬性有索引需求,可能Nosql的如MongoDB會更適合

方案二:通過擴展行的方式來擴展屬性

以上面的用戶表為例,可以設計為

user(uid, key, value)

初期有name, passwd, nick三個屬性,那么數據為:

初期有name, passwd, nick三個屬性的數據

未來擴展了age和sex兩個屬性,數據變為:

擴展了age和sex兩個屬性,數據變為

優點:

 

(1)可以隨時動態擴展屬性

(2)新舊兩種數據可以同時存在

(3)遷移數據方便,寫個小程序可以將新增的屬性加上

(4)各個屬性上都可以查詢

不足:

(1)key值有大量冗余,建議key短一些

(2)本來一條記錄很多屬性,會變成多條記錄,行數會增加很多

總結

可以通過“version+ext”或者“key+value”的方式來滿足產品新增列的需求,希望沒有浪費你這一分鐘,有收獲就好。

【本文為51CTO專欄作者“58沈劍”原創稿件,轉載請聯系原作者】

責任編輯:趙寧寧 來源: 架構師之路
相關推薦

2016-12-16 19:06:02

擴展數據庫架構

2024-06-20 08:03:35

MySQL數據表版本

2024-08-05 10:13:59

MySQL大數據優化

2010-10-27 13:16:41

oracle并行查詢

2021-01-21 15:44:03

vlookup函數數據區域Match函數

2010-09-28 09:49:48

SQL字符串

2017-07-04 11:02:40

Oracle新列分區

2009-07-28 08:36:45

TemplateFie

2015-07-20 17:17:41

SQL Server

2010-09-10 13:37:59

SQLCOUNT()函數

2013-01-29 10:41:58

Java復用HTTP

2016-05-13 16:15:05

CDN/星域CDN

2022-08-29 08:00:11

哈希表數組存儲桶

2009-10-26 13:46:31

VB.NET注冊表權限

2010-11-16 11:32:54

ORACLE增加表空間

2021-12-22 09:01:23

PythonExcelPython基礎

2020-10-14 11:12:33

TikTok谷歌禁令

2012-12-24 13:46:14

超算10億億次Xeon Phi

2019-09-12 14:47:31

TCPUDP端口

2019-09-12 08:03:56

MySQL索引數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一级欧美一级日韩片免费观看 | 日韩高清一区 | 欧美日韩在线一区二区 | 美女在线一区二区 | 天天玩天天操天天干 | 午夜视频网站 | 91麻豆产精品久久久久久夏晴子 | 91porn成人精品 | 精品久久久久久久久久久院品网 | 久久久久久久av麻豆果冻 | 国产日韩欧美激情 | 欧美中文字幕一区二区三区亚洲 | 午夜手机在线视频 | 99久久精品国产麻豆演员表 | 日韩欧美一区二区三区免费观看 | 2一3sex性hd | 中国大陆高清aⅴ毛片 | 99视频在线播放 | 久久福利电影 | 亚洲看片网站 | 91文字幕巨乱亚洲香蕉 | 福利视频一区二区 | 亚洲人在线观看视频 | 中文字幕在线观看www | 国产在线拍偷自揄拍视频 | 区一区二在线观看 | 羞羞视频在线观看免费观看 | 在线免费视频一区 | 亚洲人成人一区二区在线观看 | 国产成人网 | av在线免费观看网站 | 成人国产精品久久久 | 免费一级欧美在线观看视频 | 人人艹人人爽 | 国产精品久久精品 | 日本三级在线 | 全免一级毛片 | 日韩国产一区二区 | 欧美日日 | 成人精品高清 | 日韩视频精品在线 |