一個mysql優化就難住了?別怕,來看這張思維導圖

前言:之前寫過一篇mysql基礎的思維導圖的文章,感覺好像幫到了好多人,今天的,又整理一篇mysql調優的,希望能幫到大家

 

最近,周圍的同事離職的越來越多,身邊的小夥伴好像也有動作了,找他聊聊。

“咋了,你也要走?”

小夥伴:”現在的工作太枯燥,缺少成就感,想換一個,有技術挑戰的那種“

”你現在不挺好麼,leader對你也不錯,也挺器重,感覺你前途一片光明“

小夥伴:”這叫不錯?這叫器重?我這種邊緣項目,一沒技術難度、二沒流量、三沒數據量,更別談高併發了,天天做不完的需求,修不完的BUG,在這裏就感覺溫水煮青蛙,我就是那隻呱呱呱,我得去外面看看“

一個mysql優化就難住了?別怕,來看這張思維導圖

 

"..."

看來積怨已深,我只能打住,說了一些恭維的話,結束了交流。

這幾天,感覺小夥伴的氣壓比較低,我猜是面試受打擊了,於是又找他聊。

“最近咋了?情況不對啊”

小夥伴:“上次去面試,面試官問我,項目中用了那些SQL優化,我一下就懵了,沒回答上來...”

“懵啥?”

小夥伴:“我這種天天接需求,寫的SQL只關心查出來的數據正確與否 ,哪有需要做優化?”

“這...”

小夥伴:“只能怪自己,這破項目,SQL隨便寫寫也不會出問題“

小夥伴:”最後出問題的是自己,我廢了。”

一個mysql優化就難住了?別怕,來看這張思維導圖

 

小夥伴:“對了,常見的SQL優化有哪些?”

“行,我給你整理下。”

“其實大部分主要對查詢進行優化,最重要的是儘量避免全表掃描”

  • 適當的創建索引,考慮在 where 及 order by 涉及的列上建立索引
  • 儘量避免在 where 子句中對字段進行 null 值判斷、使用!=或<>操作符、使用 or 來連接條件、對字段進行函數操作等
  • in 和 not in 也要慎用,否則可能會導致全表掃描
  • 很多時候用 exists 代替 in 是一個好的選擇
  • 儘量使用數字型字段,若只含數值信息的字段儘量不要設計爲字符型,這會降低查詢和連接的性能,並會增加存儲開銷。
  • 儘可能的使用 varchar 代替 char ,因爲首先變長字段存儲空間小,可以節省存儲空間,其次對於查詢來說,在一個相對較小的字段內搜索效率顯然要高些。

SQL優化手段還有很多,大多數都是摸打滾爬的經驗積累,只有自己碰到了,纔有深刻的理解和體會。

這麼說可能沒什麼特別的,那如果剛纔的那些話這樣看呢?

總圖

一個mysql優化就難住了?別怕,來看這張思維導圖

 

分圖

篇幅原因,只展示一部分,需要完整架構圖的,點贊支持一下,然後私信“資料”即可

一個mysql優化就難住了?別怕,來看這張思維導圖

 

怎麼樣,這樣話是不是就很體系了

但是這個只是解決方案,還真的不是我今天的重點,重點在於和同事聊天的那最後一句話:這破項目,隨便寫寫SQL就解決了,出問題是我,我廢了

大家應該都聽過或正在經歷:面試造航母,工作擰螺絲

但是,我想說,難道工作擰螺絲你就是個螺絲工了嗎?難道你覺得你比一個在學校的大學生差嘛?不要爲自己的偷懶找理由,可能這個時候會有人出來反駁我,每天工作加班累的要死,哪有時間。。。。吧啦吧啦,類似這樣的話,當你說出這句話的時候,其實你就應該知道爲什麼同樣是做程序員,有的人年薪8W,有的人80W了,最大的原因其實就是你已經放棄學習了,而程序員這麼個隨時在更替技術的行業,可能明天技術就會更新一輪,如果你忘記了學習,可能短時間不會有什麼問題,但是時間一長呢?

比如說:

以前:會個ssm就能找工作 現在:微服務、分佈式、源碼、調優。。。

以前:會個大數據集羣就可以 現在:參數調優、推薦系統。。。

兄弟,這才幾年啊,jdk都已經14了,你又去了解過多少?spring源碼看過多少?jvm調優又理解過多少?

最近,小編公衆號後臺有好多人私聊我說面試好難啊,現在面試都要什麼人啊?小編想說,真的不是面試官再爲難你,而是要求變高了,對於項目編碼的要求也不是可以實現功能就行得了,所以對於人才的質量要求也高了,沒得辦法,你在說什麼都不好使,什麼crud是基礎,其他的都是輔助什麼那家公司能不做crud,我想說:這算是你安慰自己覺得問題不大的藉口嗎?如果不是最好,如果是,那爲什麼還不行動起來呢?你還在猶豫什麼呢?

不信,看一個大學生的筆記吧

一個mysql優化就難住了?別怕,來看這張思維導圖

 

基礎:

一個mysql優化就難住了?別怕,來看這張思維導圖

 

消息隊列:

一個mysql優化就難住了?別怕,來看這張思維導圖

 

後來者都如此努力,我們作爲先行者,怎麼可以不努力

最後,小編整理了一套技術資料不僅能精準消除技術盲點、累計面試經驗,更可以攻克JVM、Spring、分佈式、微服務等技術難題。這裏也就不展示了,有需要的

關注公衆號:Java架構師聯盟,每日更新技術好文

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章