MySQL調優結構優化

      網友投稿 716 2022-05-29

      1 合理使用范式和反范式

      1.1 范式

      遵循范式的優點:

      范式化的更新通常比反范式要快。

      當數據較好的范式化后,很少或者沒有重復的數據。

      范式化的數據比較小,可以放在內存中,操作比較快。

      遵循范式的缺點:

      MySQL調優表結構優化

      通常需要進行表關聯。

      1.2 反范式

      反范式優點:

      所有的數據都在同一張表中,可以避免關聯。

      可以設計有效的索引。

      反范式缺點:

      表格內的冗余較多,刪除數據時候會造成表有些有用的信息丟失。

      1.3 如何選擇

      在實際開發中很少能做到嚴格意義上的范式或者反范式,一般都是混合使用。

      2 主鍵的選擇

      2.1 代理主鍵和自然主鍵

      主鍵一般可分為代理主鍵和自然主鍵:代理主鍵與業務無關,是無意義的數字序列;自然主鍵指事物屬性中的自然唯一標識。一般推薦使用代理主鍵,因為它們不與業務耦合,因此更容易維護。

      2.2 問題:為什么使用自增id而不是UUID

      2.2.1 從空間方面考慮

      使用uuid(varchar)所占用的存儲空間一般都比int甚至bigint占用的存儲空間都要大。InnoDB的數據是按數據頁為單位來讀寫的,一個頁的大小是16kb。本來查詢某個范圍的數據,只需要加載一頁,現在需要查詢兩頁才能獲取完整結果。這意味著加載數據時,多了一次磁盤I/O。

      2.2.2 從插入性能考慮

      我們知道Mysql的索引樹是按索引列進行排序的,而如果我們用無序的uuid直接插入數據的話很可能會破壞這個平衡,而自增id則可以避免破壞這個平衡。

      為了保持這個平衡,MYSQL在插入時uuid時肯定會進行二分查找,而二分查找的過程肯定需要對數據進行比較,這樣無疑就增加了成本。

      還有一點,針對頁分裂,因為uuid的無序性,頁分裂時可能要將一部分數據移動到新頁中,這樣不僅消耗額外性能,也容易生成空間碎片。而使用自增id,則不會出現"將一部分數據移動至新頁"這種操作,因為本來就是有序的,直接在新頁往下寫就是了。

      3 存儲引擎的選擇

      MyISAM InnoDB

      索引類型 非聚簇索引 聚簇索引

      支持事務 否 是

      支持表鎖 是 是

      支持行鎖 否 是

      支持外鍵 否 是

      支持全文索引 是 是

      適合操作類型 大量SELECT 大量INSERT、UPDATE、DELETE

      4 適當的拆分

      當我們的表中存在類似于TEXT或者是很大的VARCHAR類型的大字段的時候,如果我們大部分訪問這張表的時候都不需要這個字段,我們就該將其拆分到另外的獨立表中,以減少常用數據所占用的存儲空間。這樣做的一個明顯好處就是每個數據塊中可以存儲的數據條數可以大大增加,既減少物理 IO 次數,也能大大提高內存中的緩存命中率。

      MySQL

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Java基礎教程——Java條件控制語句
      下一篇:fopen函數mode參數詳解
      相關文章
      亚洲视频在线观看网站| 国产成人精品日本亚洲网站| 久久精品国产精品亚洲色婷婷| 青青草原亚洲视频| 亚洲男人的天堂一区二区| 亚洲欧洲一区二区三区| 亚洲日韩国产一区二区三区| 亚洲国产综合精品中文字幕| 亚洲精品视频免费观看| 久久久久亚洲av成人无码电影 | 亚洲AV网站在线观看| 一本久久综合亚洲鲁鲁五月天| 久久亚洲色WWW成人欧美| WWW亚洲色大成网络.COM| 国产成人亚洲综合在线| 色窝窝亚洲av网| 亚洲国产免费综合| 亚洲综合色区在线观看| 国产亚洲真人做受在线观看| 亚洲国产精品va在线播放| 亚洲成a人片在线观看日本| 亚洲国产成人久久精品影视| 亚洲国产精品免费视频| 亚洲麻豆精品果冻传媒| 精品久久久久久亚洲精品| 亚洲老熟女五十路老熟女bbw| 亚洲大码熟女在线观看| 亚洲国产一成久久精品国产成人综合| 国产精品国产亚洲区艳妇糸列短篇| www国产亚洲精品久久久日本| 亚洲精品第一国产综合境外资源| 亚洲综合精品网站| 亚洲av色福利天堂| 亚洲成a人片在线网站| 亚洲国产精品成人久久久| 亚洲熟女www一区二区三区| 国产精品无码亚洲一区二区三区| 亚洲综合色成在线播放| 久久久久无码精品亚洲日韩| 亚洲国产中文在线视频| 亚洲AV成人无码网站|