前言
學習mysql每個人都有自己的學習方法。大家在心中或許都想過乙個問題,如何快速有效的學習mysql呢,那麼你有答案了嗎?或者說你根據自己的學習方法學習效果順利嗎?效果又明顯嗎?可以應付日常的工作嗎?每到年底或經歷乙個專案,你對自己的成長還滿意嗎?這些我想每個人都或多或少有想過。其實作任意事情都是有內在的規律可循的。如同登山一般,你方法得當,用得力氣就少,自己也輕鬆;而且朋友們還會投以羨慕的眼光。
學習方法簡要
本人參加工作多年,結合專案經驗及日常思考。在此簡要略舉一些重要的學習方法,供初學者們參考:
1.系統學習mysql官方手冊。
那麼自然有朋友們問,官方手冊內容過於龐雜,無從下手。你其實只要多花一些時間,其內容框架是
有一定規則。比如:包括:mysql版本的新特性,mysql安裝部署,mysql效能優化,mysql各種不同
技術層面的章節。資料庫初學者,可以根據官方手冊,依次推進,日積月累,提公升資料庫技能。
2.技術概念一定要動手測試。
比如:mysql中的innodb_buffer_pool,用於把資料庫頻繁訪問的資料放在記憶體,提公升資料庫的
操作效能。通過實踐,你可以進一步了解與innodb_buffer_pool相關的上下游的一系列的知識概
念。對於拓寬知識結構大有幫助,出現一些比較複雜問題,也可以從容應對。
3.對比學習資料庫技術概念。
比如:mysql中的系統變數或狀態變數,它的取值可能有幾個,你如果單從官方手冊的字面看來,只
是表面好像懂了,對於這個系統變數為何取這個預設值,而不取另外的值,不同的值適用於的具體場
景是什麼,你可以通過配置不同值進行對比學習。在你測試過程之中,可以加深對於技術概念的理解。
從而整合資料庫技術體系。
4.站在全域性角度學習資料庫。
這個可能有些不易理解和應用。比如:你在學習mysql某個概念。用mysql lock鎖舉例。先可以想
一想,為何產生鎖,這個鎖在整個資料庫體系中的角色是什麼,比如:行鎖可以提公升資料庫的併發度,
這樣對於業務的處理能力是很有幫助的。只要你站在乙個很高的層面,才能從巨集觀去考慮問題。當然,
這種思維的形成,非一日之功。平時多用,對工作對技術幫助很大。
5.換位思考學習資料庫。
計算機大家一看非常複雜。感覺概念太多了。門乙個乙個的,不知從哪兒進入。大家可以這樣思考。
計算機是為我們人類服務的。它是人設計的。所以它的一些執行原理及設計思路,必然要參考我們人
類生活的一些經驗。比如說:mysql中為了管理innodbbuffer pool的空間分配,它採用一些資料
結構lru佇列,佇列其實就是我們日常所見或採用一種方法,採用先進先出的原理。用mysql的話說,
就是哪些記憶體資料先使用,就先進入這個lru隊行進行管理,後使用的先進入lru佇列。另外佇列嗎,
有隊頭和隊尾。而且佇列會持續可能有新人加入,則排在隊尾。同樣的道理,mysql記憶體的資料是一
樣變化的。有些資料變化的頻繁一些,而有些則可能很長時間不變化。所以mysql就會把經常變化的
記憶體資料放在lru佇列的中尾部,而把不經常變化記憶體資料放在lru佇列的頭部。當然,lru佇列的設
計算法是比較複雜的,在此只是舉個小例子。
6.分解學習。
大家不論作什麼,不止是技術工作。日常生活中,你要作一件事。肯定會把這個事分成乙個個小部分
來作。這種方法也可以用於學習資料庫。比如:死鎖分析。可能初學者有時不知如何去分析。其實有
時,比較複雜的乙個問題,可能不是一下子可以解決的,不要著急。你可以把它分解為:什麼是鎖,
什麼又是死鎖,何時可能會產生死鎖,死鎖產生的資訊一般哪些方面體現出來,比如有沒有專門mysql
資料字典幫你診斷。這樣一來,先去依次解決這些小問題。如果還是不明確,可以繼續進行分解。直
到問題你可以解決或有思路為止。
7.重視隱式背景知識
資料庫技術是一門邏輯性極強的學科或工種,不知有此感覺嗎?你工作中碰到乙個比較複雜的問題。
你百般思考,仍無答案。最終你網上查詢或請教乙個比較厲害的人,人家一說答案,你說,唉呀。
我也是這樣想的,明白了。你是真的理解了嗎?可能未必吧,我認為原因有幾個方面:
1,你沒有深入思考,你所說的明白,是跟著人家的思路在走
2,人家告訴你了答案,可能沒有給你講得特別細,很可能中間一些沒有注意到
的技術概念沒有講給你,這個概念極有可能,就是你遲遲沒有分析思路的根
因所在如何解決這些問題,平時在學習資料庫概念時,一定要多思考,比如:這個技術概念,為何產生,
系統關聯學科,想掌握好,還要對於作業系統,網路,儲存,虛擬機器等等皆有一定的了解。才能舉
一反三,融會貫通。
後記培訓課件
(收費20元)
學mysql是學指令嗎 MySQL命令學習 二
13 where字句操作符 等於 不等於 不等於 大於 大於等於 between 在指定的兩個值之間 例如 找出學號是0007到0009之間的學生記錄 不包括0009 select from student info where stu id between 1001101620007 and 10...
學Linux必讀 Linux程式設計學習方法
linux程式設計怎麼入門 最好的 linux 學習突破口是 linux 系統程式設計,沒有之一!有人說是裸機,看看招聘資訊就知道,沒有任何招聘資訊在任何一點提到裸機程式。那麼裸機程式是給那些使用者使用的?裸機程式不是給學習微控制器或者 stm32 程式設計師準備的,是給只有上位機變成經驗的純軟體工...
It學習方法
這段時間,對於下面的這些學習方法總是不能很好的去執行,要麼會忘記,要麼不理會,現在把他寫出來,當自己忘記或者不理會的時候,給自己乙個提醒。1 請不要跑得太快,否則你將錯過沿途的風景。同樣的,在我們程式設計過程中,這道理也是類似的。當我們為了看某本it書籍的時候,急於把它看完,往往導致急躁的心裡,沿途...