iT邦幫忙

2022 iThome 鐵人賽

DAY 26
0
Modern Web

MySQL,我的超人系列 第 26

Day26-MySQL-收下我最後的優化吧!-分析篇

  • 分享至 

  • xImage
  •  

前言

系列也進到尾聲了,前幾章都是基礎,涉及MySQL、SQL最基本的使用與操作,接下來三篇會比較偏進階部分,關於MySQL底層原理TreeSQL分析等,那麼今天想談談MySQL的架構分層

分層圖

https://ithelp.ithome.com.tw/upload/images/20221010/20144865kvgorjpFnS.jpg

分層

連接:

連接池,負責儲存管理連接用戶的權限。開發上使用root登入可以使用全部權限,都如果新增更多用戶可能必須做權限區分便是在這裡進行

服務:

對外接口,解析、優化、緩存等功能

引擎:

記憶體、索引、儲存管理,負責MySQL中資料的提取與儲存

常用引擎比較:

InnoDB:
1.外鍵
2.適合交易、高併發
3.行鎖
4.緩存索引與資料

MyISAM:
1.不支援外鍵
2.不適合交易、高併發
3.效能優先、表鎖
4.緩存索引

儲存:

    把資料儲存在檔案系統

優化方案

硬體(伺服器)

成本高

1.分散數據到多個磁碟
2.磁碟讀取寫入速度
3.CPU處理效能

軟體(資料庫)

成本低

1.表格的結構正確&欄位資料合適性
2.合適的索引
3.依照業務需求選用正確的儲存引擎
4.緩存大小配置合理
5.EXPLAIN分析SQL

總結

以上均為大方向,實際上優化仍然必須針對遇到的效能瓶頸進行合理的拆分、解決


上一篇
Day25-MySQL-設計大電商網站的主鍵
下一篇
Day27-MySQL-收下我最後的優化吧!-Tree 樹
系列文
MySQL,我的超人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言