3 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
我的User系統(tǒng)分成了三級(jí):
user表存儲(chǔ)用戶的基本信息,包括登錄、狀態(tài)、姓名、郵件、手機(jī)、積分、余額
user_info表存儲(chǔ)用戶的擴(kuò)展信息,包括聯(lián)系方式、個(gè)人描述,頭像、等不會(huì)立即使用的信息
user_info表中有個(gè)TEXT類型的settings字段,存儲(chǔ)各種擴(kuò)展?fàn)顟B(tài)(序列化后的數(shù)組)
僅供參考。

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊
適合需求的設(shè)計(jì)就是好設(shè)計(jì),不必過(guò)早優(yōu)化,怎么設(shè)計(jì)user表也是一樣。怎么設(shè)計(jì),取決于系統(tǒng)的需求、用的軟件和架構(gòu)。
在數(shù)據(jù)量不大、更新不頻繁的情況下,何不就簡(jiǎn)放在一個(gè)表中,等一段時(shí)間用戶數(shù)量級(jí)變化后,原始架構(gòu)是否還能支撐新需求不可獲知,再作優(yōu)化或重構(gòu)也行。
如果數(shù)據(jù)量大時(shí),也還是要看需求對(duì)數(shù)據(jù)實(shí)時(shí)性和準(zhǔn)確性要求高不高,都會(huì)有不同的設(shè)計(jì)。

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊
首先要考慮性能瓶頸在哪里。如果你的查詢壓力很大,而且分開(kāi)以后會(huì)導(dǎo)致需要join才能得到數(shù)據(jù),那么據(jù)不應(yīng)該分開(kāi)。
如果不會(huì)導(dǎo)致join查詢,比較建議你分開(kāi)。因?yàn)镸ySQL訪問(wèn)是按照頁(yè)來(lái)訪問(wèn)的,分開(kāi)意味著減少對(duì)其他字段的訪問(wèn)。 一個(gè)page可以放更多的數(shù)據(jù),可以減少io壓力和增加內(nèi)存利用率。
添加回答
舉報(bào)