學完了C++語法之後該學什麼??(數據庫篇)

數據庫與中間件

主要是MySQLMongDBRedisNginx等;

在大學的課程裏,一般都會開設一門數據庫的課程,不過這門數據庫是沒有針對某一種數據庫語言的(例如 MySQL、SQlite)。不過我這裏只講 MySQL,因爲最頻繁。數據庫不在多。

把MySQL學好,還是特別重要的,千萬不能停留在會用的層面上,而是應該要了解一下原理,特別是對於要面試的同學,會問挺多原理,不一定要寫得很號,但是需要知道一些原理,像騰訊、阿里面試時,面得最多的就是MySQL。下面就說說一些知識以及推薦的學習資料吧。

對於 MySQL,需要學的還挺多的,例如,

1、一條 sql 語句是如何執行的?進行更新時又是怎麼處理的?

2、索引是如何實現的?多種引擎的實現區別?聚族索引,非聚族索引,二級索引,唯一索引、最左匹配原則等等(非常重要)

3、事務相關:例如事務的隔離是如何實現的?事務是如何保證原子性?不同的事務看到的數據怎麼就不一樣了?難道每個事務都拷貝一份視圖?MVCC 的實現原理(重要)等等。

4、各種鎖相關,例如表鎖,行鎖,間隙鎖,共享鎖,排他鎖。這些鎖的出現主要是用來解決哪些問題?(重要)

5、日誌相關:redolog,binlog,undolog,這些日誌的實現原理,爲了解決怎麼問題?日誌也是非常重要的吧,面試也問的挺多。

6、數據庫的主從備份、如何保證數據不丟失、如何保證高可用等等。

還有一些常用命令也要知道。下面就是關於mysql面試題的思維導圖。

推薦書籍:連 sql 都不會寫的,推薦《SQL必知必會》,接着推薦《MySQL技術內幕:InnoDB存儲引擎》。

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