總體來(lái)看,我認(rèn)為,所謂的熟練掌握MySQL,可以分為兩個(gè)不同的方面,當(dāng)然,分別對(duì)應(yīng)的,也是兩種完全不同的工作。
I:熟練掌握MySQL的數(shù)據(jù)庫(kù)維護(hù)技巧,對(duì)應(yīng)的,則是傳統(tǒng)的DBA的工作這個(gè)大門(mén)類(lèi)下,對(duì)MySQL的主要日常工作的側(cè)重點(diǎn),主要在于如下的一些方面:
數(shù)據(jù)庫(kù)自動(dòng)化運(yùn)維管理的基本技術(shù);
數(shù)據(jù)庫(kù)監(jiān)控、備份和恢復(fù)(主從復(fù)制)、容災(zāi)策略;
特別的,針對(duì)MySQL,一般還要求可以較為深入的理解各種引擎,特別是Innodb這樣的引擎的內(nèi)部工作原理,并對(duì)應(yīng)的優(yōu)化技術(shù),從而可以主動(dòng)發(fā)現(xiàn)和定位系統(tǒng)當(dāng)前或潛在,可能存在的性能瓶頸,并提出預(yù)防和優(yōu)化的策略
慮到現(xiàn)在企業(yè)級(jí)應(yīng)用,在數(shù)據(jù)量上也已經(jīng)越來(lái)越大,因此,對(duì)于如何有效的制定分庫(kù)分表等方案,也是在這個(gè)層面經(jīng)常性的工作之一。
II:熟練掌握MySQL的SQL開(kāi)發(fā)知識(shí),對(duì)應(yīng)的工作,則是開(kāi)發(fā)中針對(duì)數(shù)據(jù)庫(kù)的業(yè)務(wù)層開(kāi)發(fā)其實(shí)在很多小型的團(tuán)隊(duì)中,這個(gè)層面的工作區(qū)分是不明顯的,甚至很多都是后臺(tái)業(yè)務(wù)開(kāi)發(fā)的程序員一手經(jīng)辦。但實(shí)際上,這一層面,所需要的技能也是非常之“專(zhuān)業(yè)”的,具體來(lái)說(shuō),則包括:
針對(duì)MySQL和具體的業(yè)務(wù),進(jìn)行數(shù)據(jù)庫(kù)的建模
根據(jù)具體的業(yè)務(wù),開(kāi)發(fā)和部署對(duì)應(yīng)的觸發(fā)器(trigger)和存儲(chǔ)過(guò)程(procedure)
在掌握基本的MySQL語(yǔ)句和函數(shù)的基礎(chǔ)上,熟悉MySQL的基本優(yōu)化技巧,特別的,可以結(jié)合業(yè)務(wù),來(lái)有效的構(gòu)建“索引”,以滿(mǎn)足查詢(xún)的需要
不知道題主所說(shuō)的熟練MySQL,具體是指什么,希望上面的回答,可以幫助到你。
當(dāng)然,如果你有其他關(guān)于MySQL及其開(kāi)發(fā)方面的一些疑問(wèn),也可以關(guān)注并私信我,在時(shí)間允許的條件下,我會(huì)回答大家的。