Mysql面試常問問題

2021-10-05 02:40:24 字數 2672 閱讀 6107

資料庫基礎知識

1、為什麼要使用資料庫

2、什麼是sql?

3、什麼是mysql?

4、資料庫三大正規化是什麼

5、mysql有關許可權的表都有哪幾個

6、mysql的binlog有有幾種錄入格式?分別有什麼區別?

資料型別

1、mysql有哪些資料型別

引擎1、mysql儲存引擎myisam與innodb區別

2、myisam索引與innodb索引的區別?

3、innodb引擎的4大特性

4、儲存引擎選擇

索引1、什麼是索引?

2、索引有哪些優缺點?

3、索引使用場景(重點)

4、索引有哪幾種型別?

5、索引的資料結構(b樹,hash)

6、索引的基本原理

7、索引演算法有哪些?

8、索引設計的原則?

9、建立索引的原則(重中之重)

10、建立索引的三種方式,刪除索引

11、建立索引時需要注意什麼?

12、使用索引查詢一定能提高查詢的效能嗎?為什麼

13、百萬級別或以上的資料如何刪除

14、字首索引

15、什麼是最左字首原則?什麼是最左匹配原則

16、b樹和b+樹的區別

17、使用b樹的好處

18、使用b+樹的好處

19、hash索引和b+樹所有有什麼區別或者說優劣呢?

20、資料庫為什麼使用b+樹而不是b樹

21、b+樹在滿足聚簇索引和覆蓋索引的時候不需要回表查詢資料,

22、什麼是聚簇索引?何時使用聚簇索引與非聚簇索引

23、非聚簇索引一定會回表查詢嗎?

24、聯合索引是什麼?為什麼需要注意聯合索引中的順序?

事務1、什麼是資料庫事務?

2、事物的四大特性(acid)介紹一下?

3、什麼是髒讀?幻讀?不可重複讀?

4、什麼是事務的隔離級別?mysql的預設隔離級別是什麼?

鎖1、對mysql的鎖了解嗎

2、隔離級別與鎖的關係

3、按照鎖的粒度分資料庫鎖有哪些?鎖機制與innodb鎖演算法

4、從鎖的類別上分mysql都有哪些鎖呢?像上面那樣子進行鎖定豈不是有點阻礙併發效率了

5、mysql中innodb引擎的行鎖是怎麼實現的?

6、innodb儲存引擎的鎖的演算法有三種

7、什麼是死鎖?怎麼解決?

8、資料庫的樂觀鎖和悲觀鎖是什麼?怎麼實現的?

檢視1、為什麼要使用檢視?什麼是檢視?

2、檢視有哪些特點?

3、檢視的使用場景有哪些?

4、檢視的優點

5、檢視的缺點

6、什麼是游標?

儲存過程與函式

1、什麼是儲存過程?有哪些優缺點?

觸發器1、什麼是觸發器?觸發器的使用場景有哪些?

2、mysql中都有哪些觸發器?

常用sql語句

1、sql語句主要分為哪幾類

2、超鍵、候選鍵、主鍵、外來鍵分別是什麼?

3、sql 約束有哪幾種?

4、六種關聯查詢

5、什麼是子查詢

6、子查詢的三種情況

7、mysql中 in 和 exists 區別

8、varchar與char的區別

9、varchar(50)中50的涵義

10、int(20)中20的涵義

11、mysql為什麼這麼設計

12、mysql中int(10)和char(10)以及varchar(10)的區別

13、float和double的區別是什麼?

14、drop、delete與truncate的區別

15、union與union all的區別?

sql優化

1、如何定位及優化sql語句的效能問題?建立的索引有沒有被使用到?或者說怎麼才可以知道這條語句執行很慢的原因?

2、sql的生命週期?

3、大表資料查詢,怎麼優化

4、超大分頁怎麼處理?

5、mysql 分頁

6、慢查詢日誌

7、關心過業務系統裡面的sql耗時嗎?統計過慢查詢嗎?對慢查詢都怎麼優化過?

8、為什麼要盡量設定乙個主鍵?

9、主鍵使用自增id還是uuid?

10、字段為什麼要求定義為not null?

11、如果要儲存使用者的密碼雜湊,應該使用什麼字段進行儲存?

12、優化查詢過程中的資料訪問

13、優化長難的查詢語句

14、優化特定型別的查詢語句

15、優化關聯查詢

16、優化子查詢

17、優化limit分頁

18、優化union查詢

19、優化where子句

資料庫優化

1、為什麼要優化

2、資料庫結構優化

3、mysql資料庫cpu飆公升到500%的話他怎麼處理?

4、大表怎麼優化?某個表有近千萬資料,crud比較慢,如何優化?分庫分表了是怎麼做的?分表分庫了有什麼問題?有用到中介軟體麼?他們的原理知道麼?

垂直分表:

適用場景

缺點水平分表:

適用場景

水平切分的缺點

5、mysql的複製原理以及流程

6、讀寫分離有哪些解決方案?

7、備份計畫,mysqldump以及xtranbackup的實現原理

8、資料表損壞的修復方式有哪些?

php 面試常問問題

1.看看簡歷,會問一些過去做的專案的使用者量 pv 吞吐量 相關難點和解決方法等 2.資料庫設計經驗,為什麼進行分表?分庫?一般多少資料量開始分表?分庫?分庫分表的目的?什麼是資料庫垂直拆分?水平拆分?分割槽等等?可以舉例說明 3.資料庫優化有哪些?分別需要注意什麼?4.web開發方面會遇到哪些快取...

iOS 面試常問問題總結

1.除了mvc模式你還熟悉什麼設計模式 模式 當乙個類的某些功能需要由別的類實現,但是又不確定具體是哪個類實現的 單例模式 確保程式執行期,某個類只有乙份例項,用於進行資源共享 工廠模式 工廠模式建立的例項,多與proxy模式配合,建立可替代的類,一般用於基礎控制項的建立 觀察者模式 一般為mode...

Redis 面試常問問題(二)

一 最基本問題 1 如何保證redis的高併發和高可用?redis的主從複製原理能介紹一下嘛?redis的哨兵原理能介紹一下嘛?面試官心理 其實問這個問題,主要是考考你,redis單機能承載多高併發?如果單機扛不住如何擴容來抗更多的併發?redis會不會掛?既然redis會掛,那怎麼保證redis是...