MySQL面試題-引擎

1. MySQL存儲引擎MyISAM與InnoDB區別

存儲引擎Storage engine:MySQL中的數據、索引以及其他對象是如何存儲的,是一套文件系統的實現。

常用的存儲引擎有以下:

· Innodb引擎:Innodb引擎提供了對數據庫ACID事務的支持。並且還提供了行級鎖和外鍵的約束。它的設計的目標就是處理大數據容量的數據庫系統。

· MyIASM引擎(原本Mysql的默認引擎):不提供事務的支持,也不支持行級鎖和外鍵。

· MEMORY引擎:所有的數據都在內存中,數據的處理速度快,但是安全性不高。

2. MyISAM與InnoDB區別


MySQL面試題-引擎


3. MyISAM索引與InnoDB索引的區別?

· InnoDB索引是聚簇索引,MyISAM索引是非聚簇索引。

· InnoDB的主鍵索引的葉子節點存儲著行數據,因此主鍵索引非常高效。

· MyISAM索引的葉子節點存儲的是行數據地址,需要再尋址一次才能得到數據。

· InnoDB非主鍵索引的葉子節點存儲的是主鍵和其他帶索引的列數據,因此查詢時做到覆蓋索引會非常高效。

4. InnoDB引擎的4大特性

· 插入緩衝(insert buffer)

· 二次寫(double write)

· 自適應哈希索引(ahi)

· 預讀(read ahead)

5. 存儲引擎選擇

如果沒有特別的需求,使用默認的Innodb即可。

MyISAM:以讀寫插入為主的應用程序,比如博客系統、新聞門戶網站。

Innodb:更新(刪除)操作頻率也高,或者要保證數據的完整性;併發量高,支持事務和外鍵。比如OA自動化辦公系統。

小編分類整理了許多java進階學習材料和BAT面試題,需要資料的請加QQ群:731611386 就能領取2019年java進階學習資料和BAT面試題以及《Effective Java》(第3版)電子版書籍。


分享到:


相關文章: