這是高級開發者面試時常常被問的問題。實際咱們在平時的開發中,常常會遇到的,在用SQLyog等工具建立表時,就有一個引擎項要你去選。以下圖:mysql
Mysql的存儲引擎有這麼多種,實際咱們在平時用的最多的莫過於InnoDB和MyISAM了。面試
全部若是面試官問道mysql有哪些存儲引擎,你只須要告訴這兩個經常使用的就行。sql
MyISAM :默認表類型,它是基於傳統的ISAM類型,ISAM是Indexed Sequential Access Method (有索引的順序訪問方法) 的縮寫,它是存儲記錄和文件的標準方法。不是事務安全的,並且不支持外鍵,若是執行大量的select,insert MyISAM比較適合。安全
InnoDB :支持事務安全的引擎,支持外鍵、行鎖、事務是他的最大特色。若是有大量的update和insert,建議使用InnoDB,特別是針對多個併發和QPS較高的狀況。注: 在MySQL 5.5以前的版本中,默認的搜索引擎是MyISAM,從MySQL 5.5以後的版本中,默認的搜索引擎變動爲InnoDB。併發
Innodb:frm是表定義文件,ibd是數據文件。工具
Myisam:frm是表定義文件,myd是數據文件,myi是索引文件。搜索引擎
本次分享就到這裏,相信經過上面的文章,你已經對InnoDB和MyISAM有一個基本的認識了,可是你僅僅知道這一些是不夠的,在接下來的一段時間裏,我會繼續在個人公衆號:Java技術zhai 總結一些面試中的問題共享給你們。指針