mysql資料庫優化

2022-09-06 13:45:25 字數 1822 閱讀 3020

mysql資料庫優化

避免出現頁面訪問錯誤:

增加資料庫的穩定性:

優化使用者體驗:

如何發現有問題的sql?

使用mysql慢查詢日誌對有效率問題的sql進行監控

1、首先:show variables like "slow_query_log";  檢視伺服器是否開啟慢查詢日誌,如果:slow_query_log為off,就代表沒有開啟慢查詢日誌。

2、在開啟慢查詢日誌之前,要通過命令show variables like "%log%";      檢視是否沒有記錄的索引記錄在慢查詢日誌中,如果log_queries_not_using_indexes為off表示沒有開啟,通過命令set global log_queries_not_using_indexes=on;可以設定開啟

3、設定慢查詢日誌記錄的時間,通過命令show variables like "long_query_time";   查詢時間為大於10秒的查詢記錄在慢查詢日誌中。可以通過set global long_query_time=1;來修改時間。

4、最後,如果上面設定都設定好了,就可以set global slow_query_log=on;來開啟慢查詢日誌的記錄了。

5、通過命令:show variables like "slow%";  檢視慢日誌存放的位置,如圖:

sql執行資訊:

query_time:查詢執行時間    lock_time:查詢鎖定時間     rows_sent:查詢傳送的行數    rows_examined:查詢掃瞄的行數

set timestamp:以時間戳形式的記錄的執行時間。

如何分析sql查詢(資料庫基於mysql5.5版本,不同mysql版本的優化器有一定的差別)

1、mysqldumpslow工具

2、pt-query-digest 工具

1、使用explan查詢sql的執行計畫

1、explain返回各列的含義,如下:

首先:type中:

const:一般指常數查詢,一般對於主鍵或者唯一索引查詢。

eq_reg:一種範圍查詢,一般對於主鍵或者唯一索引範圍查詢。

ref :常見於連線的查詢中,乙個表是基於索引的查詢。

range:基於索引的範圍查詢

index :對於索引的掃瞄,來進行的查詢

all:對於表的掃瞄,來進行的查詢

其次、extra列需要注意的返回值,如下:

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...