中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MYSQL數據庫表結構優化方法詳解

發布時間:2020-10-19 04:57:42 來源:腳本之家 閱讀:172 作者:人生如初見_張默 欄目:MySQL數據庫

本文實例講述了MYSQL數據庫表結構優化方法。分享給大家供大家參考,具體如下:

 選擇合適的數據類型

    1、使用可以存下你的數據的最小的數據類型

    2、使用簡單的數據類型。Int要比varchar類型在mysql處理上簡單

    3、盡可能的使用not null定義字段

    4、盡量少用text類型,非用不可時最好考慮分表

使用int來存儲日期時間,利用FROM_UNIXTIME()【將int類型時間戳轉換成日期時間格式】,UNIX_TIMESTAMP()【將日期時間格式轉換成int類型】兩個函數進行轉換

使用bigint來存儲IP地址,利用INET_ATON()【將IP格式轉換成int】,INET_NTOA()【將int格式轉換成正常IP格式】兩個函數進行轉換

表的范式化和反范式化

范式化是指數據庫設計的規范,目前的范式化一般指第三設計范式,也就是要求數據表中不存在非關鍵字段對任意候選關鍵字段

的傳遞函數依賴則符合第三范式。

MYSQL數據庫表結構優化方法詳解

不符合第三范式要求的表存在下列問題:

    1、數據冗余:(分類,分類描述)對于每一個商品都會進行記錄

    2、數據的插入/更新/刪除異常

范式化操作:

MYSQL數據庫表結構優化方法詳解

反范式化是指為了查詢效率和考慮把原本符合第三范式的表適當的增加冗余,以達到優化查詢效率的目的,反范式化是一種以空間來換取時間的操作。

例:

MYSQL數據庫表結構優化方法詳解

MYSQL數據庫表結構優化方法詳解   

對表進行反范式化

MYSQL數據庫表結構優化方法詳解

反范式化查詢訂單信息:

MYSQL數據庫表結構優化方法詳解

表的垂直拆分

   垂直拆分就是把原來 很多列的表拆分成多個表,這就解決了表的寬度問題。通常垂直拆分可以按以下原則進行:

        1、把不常用的字段單獨存放到一個表中。

        2、把大字段獨立存放到一個表中。

        3、把經常一起使用的字段放到一起。

水平拆分

    表的水平拆分是為了解決單表的數據量過大問題,水平拆分的表每個表的結構都是完全一致的

MYSQL數據庫表結構優化方法詳解

 常用的水平拆分方法:

    1、對customer_id進行hash運算,如果要拆分成5個表則使用mod(custoneer_id,5)取出0-4個值

    2、針對不同的hashID把數據存到不同的表中

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數據庫鎖相關技巧匯總》

希望本文所述對大家MySQL數據庫計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

社会| 东方市| 鄂州市| 晋宁县| 长葛市| 商河县| 四川省| 海门市| 蓬溪县| 昭平县| 金山区| 科技| 靖州| 泾阳县| 额尔古纳市| 洛宁县| 曲周县| 东山县| 雷州市| 张掖市| 巫溪县| 巴南区| 新蔡县| 获嘉县| 兴国县| 北川| 墨江| 保靖县| 辽阳市| 定日县| 大化| 渭南市| 三门峡市| 漾濞| 封开县| 灵宝市| 固阳县| 兴国县| 通渭县| 丹东市| 贵阳市|