MysqlInnoDB和Myisam兩種類型的存儲我們在Mysql創建表的時候可以在選項中進行制定,如下圖所示:
下面來說說兩種存儲的區別吧:
1、兩種數據存儲的事務機制不同
InnoDB支持事務,Myisam不支持,但是在查詢方面Myisam的性能略勝一籌
2、鎖的機制不同
InnoDB為行級鎖,能更大程度的支持並發操作;Myisam是表級鎖
3、數據操作方面
修改、新增、刪除數據使用InnoDB性能更高,大數據量的查詢使用Myisam性能更高
查詢數據庫條數時InnoDB不保存表中數據的條數,每次都重新計算;Myisam會保存每個表的總條數,每次都查詢時不需重新計算
在查詢的時候InnoDB會比Myisam加載很多東西,比如:InnoDB會緩存數據塊、Myisam只緩存索引塊;InnoDB的尋址是通過映射,Myisam是通過offset
4、存儲方面
InnoDB資源基於表空間數據文件和日志文件,大小只限於操作系統文件大小
Myisam以文件的形式存儲在磁盤上:.frm存儲表定義;.MYD數據文件;.MYI索引文件