【mysql优化专题】本专题终极总结(共12篇)
本專題目錄如下:
一、為什么要進行mysql優化?(重點)
二、增刪改優化,多數人都會忽略的優化
三、關于單表查詢,可以這么優化
四、關于多表查詢,不得不看的優化
五、索引優化(重點中的重點)
六、表的優化,分表分庫(重點)
七、存儲過程和存儲函數教學
八、視圖應用優化詳解
九、引擎(InnoDB,MyISAM)的內存優化
十、通過慢查詢日志定位優化
十一、滿分主從復制面試寶典(重點)
十二、高可用性、負載均衡的mysql集群解決方案(重點)
一、這大概是一篇最好的mysql優化入門文章(1)
為什么要進行mysql優化?究竟在優化什么。這篇為你開啟入門之旅。
?
二、90%程序員都會忽略的增刪改優化(2)
增刪改優化,大多數人都會忽略的優化。
?
三、單表查詢優化的一些小總結,非索引設計(3)
查詢緩存,不要濫用語句,等等,這里有一些關于單表查詢的總結。值得一看。
?
四、你們要的多表查詢優化來啦!請查收(4)
應盡量避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描。
還有很多很多的點我們需要注意,詳細內容請點擊第四篇。
?
五、索引優化:90%程序員面試都用得上的索引優化手冊(5)
關于索引,分為以下幾點來講解:
1、索引的概述(什么是索引,索引的優缺點)
2、索引的基本使用(創建索引)
3、索引的基本原理(面試重點)
4、索引的數據結構(B樹,hash)
5、創建索引的原則(重中之重,面試必問!敬請收藏!)
掌握了以上重點,索引l優化還有什么難得到你呢?
?
六、優化之路高級進階——表的設計及優化(6)
關于表的優化,那就有更多的內容可以優化了,小到字段屬性的選取,三放式的取舍,大到分庫分表,增量查詢等等,互聯網大型分布式項目,怎么可能再跟以前一樣粗陋?作為準備進階架構師的你,好意思說表都搞不定?
?
七、90%程序員沒聽過的存儲過程和存儲函數教學(7)
儲存過程是一個可編程的函數,它在數據庫中創建并保存。它可以有SQL語句和一些特殊的控制結構組成。當希望在不同的應用程序或平臺上執行相同的函數,或者封裝特定功能時,存儲過程是非常有用的。
?
八、視圖應用竟然還可以這么優化?不得不收藏(8)
什么是視圖?視圖是基于 SQL 語句的結果集的可視化的表。視圖并不在數據庫中以存儲的數據值集形式存在,而是存在于實際引用的數據庫表中,視圖的構成可以是單表查詢,多表聯合查詢,分組查詢以及計算(表達式)查詢等。
?
九、詳解引擎(InnoDB,MyISAM)的內存優化攻略?(9)
InnoDB用一塊內存區域做I/O緩存池,該緩存池不僅用來緩存InnoDB的索引塊,而且也用來緩存InnoDB的數據塊。
?
十、什么是慢查詢?如何通過慢查詢日志優化?(10)
MySQL會記錄下查詢超過指定時間的語句,我們將超過指定時間的SQL語句查詢稱為慢查詢。mysql中有許許多多的日志,錯誤日志,通用日志,更新日志,二進制日志(就是用來進行主從復制的日志),慢查詢日志等。
?
十一、主從復制面試寶典!面試官都沒你懂得多!(11)
1、什么是主從復制
2、主從復制的作用(重點)
3、主從復制的原理(重中之重)
4、三步輕松構建主從
5、必問面試題干貨分析(最最重要的點)
?
十二、高可用性、負載均衡的mysql集群解決方案(12)
一個龐大的分布式系統的性能瓶頸中,最脆弱的就是連接。連接有兩個,一個是客戶端與后端的連接,另一個是后端與數據庫的連接。客戶端與后端中可以利用類似nginx的負載均衡解決,而數據庫層是最脆弱的一層,一般在應用設計時在上游就需要把請求攔截掉,數據庫層只承擔“能力范圍內”的訪問請求,所以,我們通過在服務層引入隊列和緩存,讓最底層的數據庫高枕無憂。
如果請求激增,還是有大量的查詢壓力到MySQL怎么辦呢?
這時候,集群出現了。在后端與數據庫中我們可以利用類似mycat的負載均衡實現mysql集群,提高mysql的總體性能。(可用組合很多,如LVS+keepalived組合、haproxy+keepalived組合)
?
最后的總結:
mysql的問題其實是由于一系列的軟肋決定的,所以不得不利用中間件或者其它方案去解決,包括:
在強制約束和事務與全文索引之間做出選擇(InnoDb vs MyISAM)
在客戶機代碼中“模擬”事務是不容易的
如果不執行約束,就很容易得到不一致的db狀態
如果沒有全文搜索,會變得瘋狂,比如% y %
必須在更新觸發器之前創建檢查約束的錯誤
當數據變得太大時,Mysql的承受能力就不妙了
Mysql創建的執行計劃效率低下
Mysql有超過多個連接的問題(最好說多個連接)
但是! Oracle是所有這些問題的解決方案,它是一個完整的DBMS:事務、檢查合同、視圖的很多選項、全文搜索…
所以問題的本質是:成本!解決大部分問題,換個Oracle就行了。
?
【mysql優化專題】到這里就算完美結束了,掌握這些,mysql優化部分你基本就可以OK大部分人。如果還想要更深入,我可以再繼續深入,你懂得。
ps:覺得不錯,可以分享給你的程序猿基友!
總結
以上是生活随笔為你收集整理的【mysql优化专题】本专题终极总结(共12篇)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 「mysql优化专题」这大概是一篇最好的
- 下一篇: 一文读懂JDK7,8,JD9的HashM