mysql 資料庫優化

2022-05-06 12:30:15 字數 498 閱讀 7111

提到優化,先要確定出現的問題,是儲存引擎選擇問題,還是sql語句使用問題(如:索引)亦或者是單一儲存伺服器對於千萬級別的資料力不從心。

解決方法:

1、根據不同業務選用不同儲存引擎,雖然一般情況下都優先選擇innodb。

2、分析sql語句的影響結果集。查慢查詢日誌,定位慢查詢的sql語句,檢視是否有鎖定的sql操作。

3、分庫,分表,分割槽(慎用分割槽,往往oltp操作不適用分割槽,分割槽反倒會拖慢原有查詢)

4、利用快取或nosql代替現有一些熱點查詢操作,減輕mysql壓力。

可以基於業務邏輯拆分,不同業務分布在不同伺服器中,減少單一伺服器壓力

垂直分表和水平分表兩種方式

垂直分表:將表中的一些頻繁更新和非頻繁更新的字段分開存放

水平分表,三種分表方式:

均等分表,雜湊方式分表,優點是負載平均分布,缺點是當容量持續增加時擴榮不方便,需要重新分表,主鍵就很不好處理。

時間分表,根據不同的建立時間分表,適用於olap應用。

mysql資料庫優化索引 mysql資料庫索引調優

一 mysql索引 1 磁碟檔案結構 innodb引擎 frm格式檔案儲存表結構,ibd格式檔案儲存索引和資料。myisam引擎 frm格式檔案儲存表結構,myi格式檔案儲存索引,myd格式檔案儲存資料 2 mysql資料庫資料範問原理 innodb btree 1 ibd檔案中主鍵構建b tree...

mysql資料庫優先 MySQL資料庫優化

1.新增索引 mysql資料庫的四類索引 index 普通索引,資料可以重複,沒有任何限制。unique 唯一索引,要求索引列的值必須唯一,但允許有空值 如果是組合索引,那麼列值的組合必須唯一。primary key 主鍵索引,是一種特殊的唯一索引,乙個表只能有乙個主鍵,不允許有空值,一般是在建立表...

mysql資料庫優化

用到啥學啥,mysql資料庫優化成了這幾天的老大難問題。瘋狂的尋找mysql優化的資料,覺得有用的不少,記錄下跟大家分享,對了,這裡僅僅是mysql資料庫本身的優化,沒有寫磁碟之類的 開始之前,介紹倆mysql的命令 show global status 檢視執行狀態的,顯示執行各種狀態值 show...