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