不失業計畫 面試中我遇到的那些資料庫題目

2021-10-11 09:19:16 字數 1314 閱讀 1253

2、常見的儲存引擎及特性(***)

3、查詢語句(*****)

4、常見索引有哪些(*****)

5、sql優化有哪些方法(*****)

6、簡述一下sql的編譯過程(***)

(星號表示遇到的頻率)

1、事務

1.1 事務的特性(****)

1.2 隔離級別

1.2.1 併發引起的問題(***)

1.2.2 事務的隔離級別(*****)

事務的隔離級別越高,越能保證資料的完整性和一致性,但是對併發的的影響也越大。

2、常見的儲存引擎及特性(***)

2.1 innodb(*****)

2.2 myisam

2.3 memory

2.4 innodb和myisam的區別

1、myisam是非事務安全的,而innodb是事務安全的

2、myisam鎖的粒度是表級的,而innodb支援行級鎖

3、myisam支援全文型別索引,而innodb不支援全文索引

4、myisam相對簡單,效率上要優於innodb,小型應用可以考慮使用myisam

5、myisam表儲存成檔案形式,跨平台使用更加方便

6、myisam管理非事務表,提供高速儲存和檢索以及全文搜尋能力,如果在應用中執行大量select操作可選擇

7、innodb用於事務處理,具有acid事務支援等特性,如果在應用中執行大量insert和update操作,可選擇。

3、查詢語句(*****)

通常手撕資料庫的多表查詢,偶爾問一些關鍵字的使用順序

4、常見索引有哪些(*****)

4.1 聚集索引、非聚集索引(***)

4.2 普通索引、主鍵索引、唯一索引、組合索引、全文索引(*****)

4.3 b+tree索引、hash索引(****)

4.4 索引底層實現原理(包含btree和b+tree的區別)(*****)

​ 這裡需要展示更直觀一些(b樹就是b-樹),找了乙個講的不錯的部落格: b樹和b+樹

5、sql優化有哪些方法(*****)

6、簡述一下sql的編譯過程(***)

大致過程:

客戶端傳送查詢語句給伺服器。

伺服器首先檢查快取中是否存在該查詢,若存在,返回快取中存在的結果。若是不存在就進行下一步。

伺服器進行sql的解析、語法檢測和預處理,再由優化器生成對應的執行計畫。

mysql的執行器根據優化器生成的執行計畫執行,呼叫儲存引擎的介面進行查詢。

伺服器將查詢的結果返回客戶端。

具體的參考:sql語句執行過程

面試中遇到的那些程式設計題

if typeof string.prototype.countcharacters function len this.length for i 0 i len i else var max key,max num 0 for var key in obj return 測試 var str ab...

遇到的資料庫面試題

1 mysql和oracle的in的區別 mysql的in後面的引數沒有個數的限制,而oracle的in後面的引數限制為1000個。2 mysql的in和exist的區別 exist是對外表進行loop迴圈,每次loop迴圈再對內表 子查詢 進行查詢,內錶根據索引查詢,速度快,可以用大表,外表查詢速...

資料庫中的那些「鎖」

資料庫作為多使用者共享資源,同一時刻會有很多的使用者來訪問這一公共資源。當多個使用者併發訪問的時候,資料庫需要合理的控制資源的訪問規則,來保證資料讀寫的正確性。而鎖就是用來實現這些訪問規則的重要手段。在資料庫中存在各種各樣的鎖。以mysql為例,資料庫中的鎖,大概有如下幾種 根據資料操作的方式,資料...