2018-10-26
閱讀量:
812
常用的mysql引擎有哪些?各引擎間有什么區(qū)別?
主要?MyISAM 與 InnoDB 兩個引擎,其主要區(qū)別如下:
一、InnoDB 支持事務(wù),MyISAM 不支持,這一點是非常之重要。事務(wù)是一種高
級的處理方式,如在一些列增刪改中只要哪個出錯還可以回滾還原,而?MyISAM
就不可以了;
二、MyISAM 適合查詢以及插入為主的應(yīng)用,InnoDB 適合頻繁修改以及涉及到
安全性較高的應(yīng)用;
三、InnoDB 支持外鍵,MyISAM 不支持;
四、MyISAM 是默認引擎,InnoDB 需要指定;
五、InnoDB 不支持 FULLTEXT 類型的索引;
六、InnoDB 中不保存表的行數(shù),如 select count(*) from table 時,InnoDB;需要
掃描一遍整個表來計算有多少行,但是?MyISAM 只要簡單的讀出保存好的行數(shù)即
可。注意的是,當?count(*)語句包含 where 條件時 MyISAM 也需要掃描整個表;
七、對于自增長的字段,InnoDB 中必須包含只有該字段的索引,但是在 MyISAM
表中可以和其他字段一起建立聯(lián)合索引;
八、清空整個表時,InnoDB 是一行一行的刪除,效率非常慢。MyISAM 則會重
建表;
九、InnoDB 支持行鎖(某些情況下還是鎖整表,如 update table set a=1 where
user like '%lee%'






評論(0)


暫無數(shù)據(jù)
推薦帖子
0條評論
0條評論
0條評論
1條評論