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