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