誰再說mysql難學(xué),我一張思維導(dǎo)圖就扔過去误甚,看完再說話

前言

可能說起mysql缚甩,哪怕一個剛?cè)腴T的小白都會跟我說,太低級了窑邦,這玩意有什么可整的擅威,沒啥意思,除了增刪改查冈钦,索引郊丛,序列,還有什么呢瞧筛?真當哥們是二B了呀

我就哈哈一笑厉熟,小伙子,還是太年輕啊较幌,來看這張圖(平臺原因揍瑟,像素不夠,需要高清圖绅络,關(guān)注公眾號:Java架構(gòu)師聯(lián)盟,私信“架構(gòu)圖”獲揉易帧)

怎么樣恩急,兄弟,密集恐懼癥是不是犯了啊纪蜒,還敢說mysql簡單嘛衷恭?但是這樣說的話是不是跟我的題目有點不一樣啊,別著急纯续,接著往下看

增刪改查什么的都不說随珠,咱就以mysql的優(yōu)化為例,來證明一下猬错,為什么我說真的不難

既然要說MySQL優(yōu)化窗看,那我們起碼要先知道現(xiàn)在的MySQL已經(jīng)為了讓操作更容易,給我們提供了那些方便吧

MySQL24種系統(tǒng)特性

1.使用 C和C++編寫倦炒,并使用了多種編譯器進行測試显沈,保證了源代碼的可移植性。

2.支持AIX、FreeBSD拉讯、HP-UX涤浇、Linux、Mac OS魔慷、NovellNetware只锭、OpenBSD、OS/2 Wrap院尔、Solaris蜻展、Windows等多種操作系統(tǒng)。

3.為多種編程語言提供了API召边。這些編程語言包括C铺呵、C++、Python隧熙、Java片挂、Perl、PHP贞盯、Eiffel音念、Ruby,.NET和 Tcl 等。

4.支持多線程躏敢,充分利用 CPU 資源闷愤。

5.優(yōu)化的SQL查詢算法,有效地提高查詢速度件余。

6.既能夠作為一個單獨的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中讥脐,也能夠作為一個庫而嵌入到其他的軟件中。

7.提供多語言支持啼器,常見的編碼如中文的GB 2312旬渠、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名端壳。

8.提供TCP/IP告丢、ODBC 和JDBC等多種數(shù)據(jù)庫連接途徑。

9.提供用于管理损谦、檢查岖免、優(yōu)化數(shù)據(jù)庫操作的管理工具。

10.支持大型的數(shù)據(jù)庫照捡÷妫可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。

11.支持多種存儲引擎栗精。

12.MySQL 是開源的栅炒,所以你不需要支付額外的費用。

13.MySQL 使用標準的SQL數(shù)據(jù)語言形式。

14.MySQL 對 PHP 有很好的支持赢赊,PHP是比較流行的 Web 開發(fā)語言乙漓。

15.MySQL是可以定制的,采用了GPL協(xié)議释移,你可以修改源碼來開發(fā)自己的 MySQL 系統(tǒng)叭披。

16.在線 DDL/更改功能,數(shù)據(jù)架構(gòu)支持動態(tài)應(yīng)用程序和開發(fā)人員靈活性(5.6新增)

17.復(fù)制全局事務(wù)標識玩讳,可支持自我修復(fù)式集群(5.6新增)

18.復(fù)制無崩潰從機涩蜘,可提高可用性(5.6新增)

19.復(fù)制多線程從機,可提高性能(5.6新增)

20.3倍更快的性能(5.7[7]新增)

21.新的優(yōu)化器(5.7新增)

22.原生JSON支持(5.7新增)

23.多源復(fù)制(5.7新增)

24.GIS的空間擴展[8](5.7新增)

好噠熏纯,那知道了這些之后同诫,我們接下來看調(diào)優(yōu),這也是在面試的過程中被經(jīng)常問到的一些問題樟澜,而且隨著互聯(lián)網(wǎng)的發(fā)展误窖,數(shù)據(jù)量的增大,不想引入大數(shù)據(jù)體系的秩贰,那只能在數(shù)據(jù)庫上下功夫了霹俺,那么對于數(shù)據(jù)庫的調(diào)優(yōu),不知道各位覺得難嗎毒费?其實真的不難丙唧,不信,看下面

MySQL調(diào)優(yōu)思維導(dǎo)圖

看到這張思維導(dǎo)圖觅玻,從上往下想际,不知道在看這篇文章的你有沒有回想一下自己的知識體系中,這些方面是不是很清晰呢溪厘?

好胡本,看完這句話,我的重點要來了桩匪,你在回想這些知識點的時候打瘪,是不是對你的知識點進行了一個回顧和梳理友鼻,查漏補缺傻昙,你也知道了自己知識點上的不足,是不是可以有針對性的進行學(xué)習(xí)呢彩扔?

我們以分庫和分表為例去進行一個商討

分庫分表

1妆档、水平分庫

概念:以字段為依據(jù),按照一定策略(hash虫碉、range等)贾惦,將一個庫中的數(shù)據(jù)拆分到多個庫中。

結(jié)果:

每個庫的結(jié)構(gòu)都一樣;

每個庫的數(shù)據(jù)都不一樣须板,沒有交集碰镜;

所有庫的并集是全量數(shù)據(jù);

場景:系統(tǒng)絕對并發(fā)量上來了习瑰,分表難以根本上解決問題绪颖,并且還沒有明顯的業(yè)務(wù)歸屬來垂直分庫。

分析:庫多了甜奄,io和cpu的壓力自然可以成倍緩解柠横。

2、水平分表

概念:以字段為依據(jù)课兄,按照一定策略(hash牍氛、range等),將一個表中的數(shù)據(jù)拆分到多個表中烟阐。

結(jié)果:

每個表的結(jié)構(gòu)都一樣搬俊;

每個表的數(shù)據(jù)都不一樣,沒有交集曲饱;

所有表的并集是全量數(shù)據(jù)悠抹;

場景:系統(tǒng)絕對并發(fā)量并沒有上來,只是單表的數(shù)據(jù)量太多扩淀,影響了SQL效率楔敌,加重了CPU負擔,以至于成為瓶頸驻谆。推薦:一次SQL查詢優(yōu)化原理分析

分析:表的數(shù)據(jù)量少了卵凑,單次SQL執(zhí)行效率高,自然減輕了CPU的負擔胜臊。

3勺卢、垂直分庫

概念:以表為依據(jù),按照業(yè)務(wù)歸屬不同象对,將不同的表拆分到不同的庫中黑忱。

結(jié)果:

每個庫的結(jié)構(gòu)都不一樣;

每個庫的數(shù)據(jù)也不一樣勒魔,沒有交集甫煞;

所有庫的并集是全量數(shù)據(jù);

場景:系統(tǒng)絕對并發(fā)量上來了冠绢,并且可以抽象出單獨的業(yè)務(wù)模塊抚吠。

分析:到這一步,基本上就可以服務(wù)化了弟胀。例如楷力,隨著業(yè)務(wù)的發(fā)展一些公用的配置表喊式、字典表等越來越多,這時可以將這些表拆到單獨的庫中萧朝,甚至可以服務(wù)化岔留。再有,隨著業(yè)務(wù)的發(fā)展孵化出了一套業(yè)務(wù)模式检柬,這時可以將相關(guān)的表拆到單獨的庫中贸诚,甚至可以服務(wù)化。

4厕吉、垂直分表

概念:以字段為依據(jù)酱固,按照字段的活躍性,將表中字段拆到不同的表(主表和擴展表)中头朱。

結(jié)果:

每個表的結(jié)構(gòu)都不一樣运悲;

每個表的數(shù)據(jù)也不一樣,一般來說项钮,每個表的字段至少有一列交集班眯,一般是主鍵,用于關(guān)聯(lián)數(shù)據(jù)烁巫;

所有表的并集是全量數(shù)據(jù)署隘;

場景:系統(tǒng)絕對并發(fā)量并沒有上來,表的記錄并不多亚隙,但是字段多磁餐,并且熱點數(shù)據(jù)和非熱點數(shù)據(jù)在一起,單行數(shù)據(jù)所需的存儲空間較大阿弃。以至于數(shù)據(jù)庫緩存的數(shù)據(jù)行減少诊霹,查詢時會去讀磁盤數(shù)據(jù)產(chǎn)生大量的隨機讀IO,產(chǎn)生IO瓶頸渣淳。

分析:可以用列表頁和詳情頁來幫助理解脾还。垂直分表的拆分原則是將熱點數(shù)據(jù)(可能會冗余經(jīng)常一起查詢的數(shù)據(jù))放在一起作為主表,非熱點數(shù)據(jù)放在一起作為擴展表入愧。這樣更多的熱點數(shù)據(jù)就能被緩存下來鄙漏,進而減少了隨機讀IO。拆了之后棺蛛,要想獲得全部數(shù)據(jù)就需要關(guān)聯(lián)兩個表來取數(shù)據(jù)怔蚌。

但記住,千萬別用join鞠值,因為join不僅會增加CPU負擔并且會將兩個表耦合在一起(必須在一個數(shù)據(jù)庫實例上)媚创。關(guān)聯(lián)數(shù)據(jù)渗钉,應(yīng)該在業(yè)務(wù)Service層做文章彤恶,分別獲取主表和擴展表數(shù)據(jù)然后用關(guān)聯(lián)字段關(guān)聯(lián)得到全部數(shù)據(jù)钞钙。

好了,到這里声离,分庫和分表的操作基本就完成了芒炼,不知道大家有沒有什么感覺,如果知識只是單純的去看這些知識點术徊,你能記住多久呢本刽?反正如果我長時間不看,就忘了赠涮,子寓,但是我不慫 啊,因為我有這張圖笋除,而且比展示出來的更加詳細斜友,所以當我需要用到時候就可以看了,直接就可以拿出來看垃它,哪怕只有10分鐘就夠了鲜屏。

不知道你怎么感覺,其實我覺得你也可以国拇,當你學(xué)完之后洛史,在我的這張知識圖譜上,把會的知識點進行整理酱吝,不會的知識點在學(xué)完之后也可以整理到這份圖譜中也殖,即使后面用不到有所遺忘,但是當你需要這些資料的時候务热,比方說你要面試了毕源,那你會覺得慌嘛?是不是拿出來這張圖就可以啊陕习,想看那個知識點點開看一下就可以了霎褐。

其實,今天的標題是有一點不是特別準確该镣,其實每一個程序員們都清楚冻璃,不僅僅是數(shù)據(jù)庫,其他 的技術(shù)也是這樣损合,從Java基礎(chǔ)(源碼等)---架構(gòu)師---大數(shù)據(jù)----人工智能省艳,哪怕你不從事這一行,難道就不能去學(xué)習(xí)了嗎嫁审?互聯(lián)網(wǎng)發(fā)展這么快跋炕,天知道那天就能用到呢?

人無遠慮必有近憂律适,好了辐烂,兄弟們遏插,時間已經(jīng)很晚了,就到這里吧

關(guān)注我纠修,后期不斷更新新的文章胳嘲,包括面試、技術(shù)扣草、學(xué)習(xí)等技術(shù)了牛,關(guān)注我,不迷路辰妙,有什么問題鹰祸,也可以在評論區(qū)或者私信和我交流

覺得文章寫的不錯的老鐵們,歡迎點贊+評論密浑,支持一下福荸,謝謝

公眾號:Java架構(gòu)師聯(lián)盟,歡迎關(guān)注

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末肴掷,一起剝皮案震驚了整個濱河市敬锐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌呆瞻,老刑警劉巖台夺,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異痴脾,居然都是意外死亡颤介,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門赞赖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滚朵,“玉大人,你說我怎么就攤上這事前域≡” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵匿垄,是天一觀的道長移宅。 經(jīng)常有香客問我,道長椿疗,這世上最難降的妖魔是什么漏峰? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮届榄,結(jié)果婚禮上浅乔,老公的妹妹穿的比我還像新娘。我一直安慰自己铝条,他們只是感情好靖苇,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布席噩。 她就那樣靜靜地躺著,像睡著了一般顾复。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鲁捏,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天芯砸,我揣著相機與錄音,去河邊找鬼给梅。 笑死假丧,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的动羽。 我是一名探鬼主播包帚,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼运吓!你這毒婦竟也來了渴邦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤拘哨,失蹤者是張志新(化名)和其女友劉穎谋梭,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倦青,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡瓮床,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了产镐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片隘庄。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖癣亚,靈堂內(nèi)的尸體忽然破棺而出丑掺,到底是詐尸還是另有隱情,我是刑警寧澤述雾,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布吼鱼,位于F島的核電站,受9級特大地震影響绰咽,放射性物質(zhì)發(fā)生泄漏菇肃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一取募、第九天 我趴在偏房一處隱蔽的房頂上張望琐谤。 院中可真熱鬧,春花似錦玩敏、人聲如沸斗忌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽织阳。三九已至眶蕉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間唧躲,已是汗流浹背造挽。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留弄痹,地道東北人饭入。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像肛真,于是被迫代替她去往敵國和親谐丢。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348