-
222222222222
查看全部 -
111111111111
查看全部 -
水平拆分:對(duì)于表數(shù)據(jù)特別多的,可以進(jìn)行水平拆分(表結(jié)構(gòu)一致);
查看全部 -
垂直拆分:為了控制表的寬度,提供IO讀取效率;
1、經(jīng)常一起查詢的列放一起;
2、text,blob等大字段拆分出到附表中;
查看全部 -
數(shù)據(jù)庫中合適的操作:
1、批量操作(優(yōu)先)VS逐條操作;
2、禁止使用Select*這樣的查詢,使用具體列查詢(造成IO浪費(fèi),程序出錯(cuò));
3、控制使用用戶自定義函數(shù)(使用方便但是低效);
4、不要使用數(shù)據(jù)庫中的全文索引(如果需要可以使用搜索引擎完成);
查看全部 -
表結(jié)構(gòu)維護(hù):
注意事項(xiàng):
1、使用在線變更(MySQL5.6之后支持)表結(jié)構(gòu)的工具;
2、同時(shí)對(duì)數(shù)據(jù)字典進(jìn)行維護(hù);
3、控制表的寬度和大?。S著業(yè)務(wù)的增加表會(huì)變的非常寬,可對(duì)表進(jìn)行垂直拆分)
查看全部 -
索引維護(hù):
索引選擇:
1、出現(xiàn)在WHERE從句,GROUP BY從句,ORDER BY 從句的列;
2、可選擇性高的列要放大哦索引的前面;
3、索引不要包含太長的數(shù)據(jù)類型(對(duì)于長的可以截取前面的檢索,或者轉(zhuǎn)換成MD5后索引);
注意事項(xiàng):
1、索引不是越多越好,過多會(huì)降到讀寫效率;
2、定期維護(hù)索引碎片;
3、SQL語句中不要使用強(qiáng)制索引關(guān)鍵字(隨著字段的增加索引可能會(huì)變或刪除)
查看全部 -
數(shù)據(jù)字段維護(hù):
1、使用第三方工具維護(hù)(與數(shù)據(jù)庫管理系統(tǒng)有關(guān))
2、利用數(shù)據(jù)庫本身的備注字段來維護(hù)(增加COMMENT字段備注);
查看全部 -
反范式化:為了性能和讀取效率考慮違反第三范式,允許存在少了數(shù)據(jù)冗余,以達(dá)到用空間換時(shí)間的目的。
優(yōu)點(diǎn):
1、減少表的關(guān)聯(lián)數(shù)量;
2、增加數(shù)據(jù)的讀取效率;
3、反范式化一定要適度。
查看全部 -
關(guān)于預(yù)留字段(預(yù)見性的避免修改數(shù)據(jù)庫表機(jī)構(gòu),嚴(yán)禁使用):
1、無法準(zhǔn)確知道預(yù)留字段的類型;
2、無法準(zhǔn)確知道預(yù)留字段存儲(chǔ)的內(nèi)容;
3、增加維護(hù)成本;
4、嚴(yán)禁使用預(yù)留字段。
查看全部 -
避免使用觸發(fā)器(before,after)
1、降低數(shù)據(jù)導(dǎo)入的效率;
2、可能出現(xiàn)意想不到的數(shù)據(jù)異常;
3、使業(yè)務(wù)邏輯變復(fù)雜;
查看全部 -
外鍵:(保持?jǐn)?shù)據(jù)完整性)避免使用外鍵約束
1、降低數(shù)據(jù)導(dǎo)入效率;
2、增加維護(hù)成本;
3、相關(guān)聯(lián)的列上一定要建立索引;
查看全部 -
主鍵選擇:
1、業(yè)務(wù)主鍵(標(biāo)識(shí)業(yè)務(wù)數(shù)據(jù)進(jìn)行表關(guān)聯(lián))和數(shù)據(jù)庫主鍵(優(yōu)化數(shù)據(jù)存儲(chǔ)(隱含主鍵))
2、主鍵最好順序增長(比如:ID)
3、主鍵的字段類型所占空間要盡可能小。
查看全部 -
時(shí)間類型:
1、使用int:
優(yōu)點(diǎn):字段長度比datetime??;
缺點(diǎn):使用不方便,需函數(shù)轉(zhuǎn)換;
(1)生日不常用的int;
(2)下單時(shí)間、支付時(shí)間經(jīng)常用的用datatime;
限制:int4個(gè)字節(jié),智能存儲(chǔ)到2038-1-19- 11:14:07
2、需要存儲(chǔ)的顆粒度
年(year類型一個(gè)字節(jié))、月、日、時(shí)、分、秒、周
查看全部
舉報(bào)