mysql性能優(yōu)化-慢查詢分析、優(yōu)化索引和配置

mysql性能優(yōu)化-慢查詢分析、優(yōu)化索引和配置

ID:36027360

大?。?65.00 KB

頁數(shù):24頁

時(shí)間:2019-04-28

mysql性能優(yōu)化-慢查詢分析、優(yōu)化索引和配置_第1頁
mysql性能優(yōu)化-慢查詢分析、優(yōu)化索引和配置_第2頁
mysql性能優(yōu)化-慢查詢分析、優(yōu)化索引和配置_第3頁
mysql性能優(yōu)化-慢查詢分析、優(yōu)化索引和配置_第4頁
mysql性能優(yōu)化-慢查詢分析、優(yōu)化索引和配置_第5頁
資源描述:

《mysql性能優(yōu)化-慢查詢分析、優(yōu)化索引和配置》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、mysql性能優(yōu)化-慢查詢分析、優(yōu)化索引和配置目錄一、優(yōu)化概述二、查詢與索引優(yōu)化分析1性能瓶頸定位Show命令慢查詢?nèi)罩緀xplain分析查詢profiling分析查詢?2索引及查詢優(yōu)化三、配置優(yōu)化1)???max_connections2)???back_log3)???interactive_timeout4)???key_buffer_size5)???query_cache_size6)???record_buffer_size7)???read_rnd_buffer_size8)???sort_buffer_size9)???join_buf

2、fer_size10)??table_cache11)??max_heap_table_size12)??tmp_table_size13)??thread_cache_size14)??thread_concurrency15)??wait_timeout?一、?優(yōu)化概述MySQL數(shù)據(jù)庫是常見的兩個(gè)瓶頸是CPU和I/O的瓶頸,CPU在飽和的時(shí)候一般發(fā)生在數(shù)據(jù)裝入內(nèi)存或從磁盤上讀取數(shù)據(jù)時(shí)候。磁盤I/O瓶頸發(fā)生在裝入數(shù)據(jù)遠(yuǎn)大于內(nèi)存容量的時(shí)候,如果應(yīng)用分布在網(wǎng)絡(luò)上,那么查詢量相當(dāng)大的時(shí)候那么平瓶頸就會出現(xiàn)在網(wǎng)絡(luò)上,我們可以用mpstat,iostat,sa

3、r和vmstat來查看系統(tǒng)的性能狀態(tài)。除了服務(wù)器硬件的性能瓶頸,對于MySQL系統(tǒng)本身,我們可以使用工具來優(yōu)化數(shù)據(jù)庫的性能,通常有三種:使用索引,使用EXPLAIN分析查詢以及調(diào)整MySQL的內(nèi)部配置。二、查詢與索引優(yōu)化分析在優(yōu)化MySQL時(shí),通常需要對數(shù)據(jù)庫進(jìn)行分析,常見的分析手段有慢查詢?nèi)罩?,EXPLAIN?分析查詢,profiling分析以及show命令查詢系統(tǒng)狀態(tài)及系統(tǒng)變量,通過定位分析性能的瓶頸,才能更好的優(yōu)化數(shù)據(jù)庫系統(tǒng)的性能。1性能瓶頸定位Show命令我們可以通過show命令查看MySQL狀態(tài)及變量,找到系統(tǒng)的瓶頸:Mysql>showst

4、atus——顯示狀態(tài)信息(擴(kuò)展showstatuslike‘XXX’)Mysql>showvariables——顯示系統(tǒng)變量(擴(kuò)展showvariableslike‘XXX’)Mysql>showinnodbstatus——顯示InnoDB存儲引擎的狀態(tài)Mysql>showprocesslist——查看當(dāng)前SQL執(zhí)行,包括執(zhí)行狀態(tài)、是否鎖表等Shell>mysqladminvariables-uusername-ppassword——顯示系統(tǒng)變量Shell>mysqladminextended-status-uusername-ppassword——顯

5、示狀態(tài)信息查看狀態(tài)變量及幫助:Shell>mysqld–verbose–help[

6、more#逐行顯示]?比較全的Show命令的使用可參考:http://blog.phpbean.com/a.cn/18/慢查詢?nèi)罩韭樵內(nèi)罩鹃_啟:在配置文件my.cnf或my.ini中在[mysqld]一行下面加入兩個(gè)配置參數(shù)log-slow-queries=/data/mysqldata/slow-query.log???????????long_query_time=2?????????????????????????????????????????????????

7、???????????????注:log-slow-queries參數(shù)為慢查詢?nèi)罩敬娣诺奈恢茫话氵@個(gè)目錄要有mysql的運(yùn)行帳號的可寫權(quán)限,一般都將這個(gè)目錄設(shè)置為mysql的數(shù)據(jù)存放目錄;long_query_time=2中的2表示查詢超過兩秒才記錄;在my.cnf或者my.ini中添加log-queries-not-using-indexes參數(shù),表示記錄下沒有使用索引的查詢。log-slow-queries=/data/mysqldata/slow-query.log???????????long_query_time=10???????????

8、????????????????????????????????????????????????????log-queries-not-using-indexes?????????????????????????????????????????????慢查詢?nèi)罩鹃_啟方法二:我們可以通過命令行設(shè)置變量來即時(shí)啟動慢日志查詢。由下圖可知慢日志沒有打開,slow_launch_time=#?表示如果建立線程花費(fèi)了比這個(gè)值更長的時(shí)間,slow_launch_threads計(jì)數(shù)器將增加設(shè)置慢日志開啟MySQL后可以查詢long_query_time的值。?為了方便

9、測試,可以將修改慢查詢時(shí)間為5秒。慢查詢分析mysqldumpslow我們可以通過打開log文

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時(shí)可能會顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。