1.表的優(yōu)化:定長(zhǎng)和不定長(zhǎng)分離
Int 4個(gè)字節(jié),char4個(gè)字節(jié),定長(zhǎng),time也是定長(zhǎng)
核心且常用的字段,應(yīng)該建成定長(zhǎng)的,放到一張表上
而varchar text,bolb,這種變長(zhǎng)字段,適合單放一張表上,用主鍵與核心表關(guān)聯(lián)起來(lái)
2.常用字段和不常用的字段要分離
需要結(jié)合網(wǎng)站具體的業(yè)務(wù)來(lái)分析,分析字段的查詢場(chǎng)景,查詢頻度低的字段,單獨(dú)解析出來(lái)
3.在1對(duì)多,需要關(guān)聯(lián)統(tǒng)計(jì)的字段上添加冗余字段
冗余字段可以提高性能(典型的空間換時(shí)間)
4.列選擇原則:
(1).字段類型優(yōu)先級(jí),整型>date.time>enum.char>varchar>blob.text
列的特點(diǎn)分析
整型:定長(zhǎng).沒有國(guó)家/地區(qū)之分.沒有字符集的差異(tinyint 1 2 3 4<--->char(1) a b c d從空間上都是占一個(gè)字節(jié),但是order by 排序,前者快,原因:后者需要考慮字符集與校對(duì)集,就是及排序規(guī)則)
time :定長(zhǎng),運(yùn)算快,節(jié)省空間,考慮時(shí)區(qū),.........