mysql性能優(yōu)化教程

mysql性能優(yōu)化教程

ID:15428267

大?。?48.00 KB

頁數(shù):24頁

時間:2018-08-03

mysql性能優(yōu)化教程_第1頁
mysql性能優(yōu)化教程_第2頁
mysql性能優(yōu)化教程_第3頁
mysql性能優(yōu)化教程_第4頁
mysql性能優(yōu)化教程_第5頁
資源描述:

《mysql性能優(yōu)化教程》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。

1、Mysql性能優(yōu)化教程目錄目錄1背景及目標2Mysql執(zhí)行優(yōu)化2認識數(shù)據索引2為什么使用數(shù)據索引能提高效率2如何理解數(shù)據索引的結構2優(yōu)化實戰(zhàn)范例3認識影響結果集4影響結果集的獲取4影響結果集的解讀4常見案例及優(yōu)化思路5理解執(zhí)行狀態(tài)7常見關注重點7執(zhí)行狀態(tài)分析8分析流程9常見案例解析11總結12Mysql運維優(yōu)化14存儲引擎類型14內存使用考量14性能與安全性考量14存儲/寫入壓力優(yōu)化15運維監(jiān)控體系15Mysql架構優(yōu)化17架構優(yōu)化目標17防止單點隱患17方便系統(tǒng)擴容17安全可控,成本可控17分布式

2、方案18分庫&拆表方案18反范式設計(冗余結構設計)20主從架構21故障轉移處理22緩存方案22緩存結合數(shù)據庫的讀取22緩存結合數(shù)據庫的寫入23總結24背景及目標l廈門游家公司(4399.com)用于員工培訓和分享。l針對用戶群為已經使用過mysql環(huán)境,并有一定開發(fā)經驗的工程師l針對高并發(fā),海量數(shù)據的互聯(lián)網環(huán)境。l本文語言為口語,非學術標準用語。l以實戰(zhàn)和解決具體問題為主要目標,非應試,非常規(guī)教育。友情提醒,在校生學習本教程可能對成績提高有害無益。l非技術挑戰(zhàn),非高端架構師培訓,請高手自動忽略。l

3、本文檔在2011年7月-12月持續(xù)更新,加強了影響結果集分析的內容并增補優(yōu)化實戰(zhàn)案例若干。Mysql執(zhí)行優(yōu)化認識數(shù)據索引為什么使用數(shù)據索引能提高效率n關系型數(shù)據庫的數(shù)據索引(Btree及常見索引結構)的存儲是有序的。n在有序的情況下,通過索引查詢一個數(shù)據是無需遍歷索引記錄的n關系型數(shù)據庫數(shù)據索引的查詢效率趨近于二分法查詢效率,趨近于log2(N)。n極端情況下(更新請求少,更新實時要求低,查詢請求頻繁),建立單向有序序列可替代數(shù)據索引。nHASH索引的查詢效率是尋址操作,趨近于1次查詢,比有序索引查

4、詢效率更高,但是不支持比對查詢,區(qū)間查詢,排序等操作,僅支持key-value類型查詢。不是本文重點。如何理解數(shù)據索引的結構n數(shù)據索引通常默認采用btree索引,(內存表也使用了hash索引)。n僅就有序前提而言,單向有序排序序列是查找效率最高的(二分查找,或者說折半查找),使用樹形索引的目的是為了達到快速的更新和增刪操作。n在極端情況下(比如數(shù)據查詢需求量非常大,而數(shù)據更新需求極少,實時性要求不高,數(shù)據規(guī)模有限),直接使用單一排序序列,折半查找速度最快。n在進行索引分析和SQL優(yōu)化時,可以將數(shù)據索

5、引字段想象為單一有序序列,并以此作為分析的基礎。涉及到復合索引情況,復合索引按照索引順序拼湊成一個字段,想象為單一有序序列,并以此作為分析的基礎。n一條數(shù)據查詢只能使用一個索引,索引可以是多個字段合并的復合索引。但是一條數(shù)據查詢不能使用多個索引。優(yōu)化實戰(zhàn)范例l實戰(zhàn)范例1:ip地址反查n資源:Ip地址對應表,源數(shù)據格式為startip,endip,area源數(shù)據條數(shù)為10萬條左右,呈很大的分散性n目標:需要通過任意ip查詢該ip所屬地區(qū)性能要求達到每秒1000次以上的查詢效率n挑戰(zhàn):如使用betwee

6、nstartipandendip這樣的條件數(shù)據庫操作,因為涉及兩個字段的betweenand,無法有效使用索引。如果每次查詢請求需要遍歷10萬條記錄,根本不行。n方法:一次性排序(只在數(shù)據準備中進行,數(shù)據可存儲在內存序列)折半查找(每次請求以折半查找方式進行)l實戰(zhàn)范例2:目標:查找與訪問者同一地區(qū)的異性,按照最后登錄時間逆序n挑戰(zhàn):高訪問量社區(qū)的高頻查詢,如何優(yōu)化。查詢SQL:select*fromuserwherearea=’$area’andsex=’$sex’orderbylastlogin

7、desclimit0,30;建立復合索引并不難,area+sex+lastlogin三個字段的復合索引,如何理解?n解讀:首先,忘掉btree,將索引字段理解為一個排序序列。另外,牢記數(shù)據查詢只能使用一個索引,每個字段建立獨立索引的情況下,也只能有一條索引被使用!如果只使用area會怎樣?搜索會把符合area的結果全部找出來,然后在這里面遍歷,選擇命中sex的并排序。遍歷所有area=’$area’數(shù)據!如果使用了area+sex,略好,仍然要遍歷所有area=’$area’andsex=’$sex

8、’數(shù)據,然后在這個基礎上排序!!Area+sex+lastlogin復合索引時(切記lastlogin在最后),該索引基于area+sex+lastlogin三個字段合并的結果排序,該列表可以想象如下。廣州女$時間1廣州女$時間2廣州女$時間3…廣州男….深圳女….數(shù)據庫很容易命中到area+sex的邊界,并且基于下邊界向上追溯30條記錄,搞定!在索引中迅速命中所有結果,無需二次遍歷!認識影響結果集影響結果集的獲取n通過Explain分析SQL,查看rows列內容n通

當前文檔最多預覽五頁,下載文檔查看全文

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

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