MySQL數據庫引擎主要有哪些?


主要為MyISAM 與 InnoDB 兩個引擎,其主要區別如下:

一、InnoDB 支持事務,MyISAM 不支持,這一點是非常之重要。事務是一種高

級的處理方式,如在一些列增刪改中只要哪個出錯還可以回滾還原,而 MyISAM

就不可以了;

二、MyISAM 適合查詢以及插入為主的應用,InnoDB 適合頻繁修改以及涉及到

安全性較高的應用;

三、InnoDB 支持外鍵,MyISAM 不支持;

四、MyISAM 是默認引擎,InnoDB 需要指定;

五、InnoDB 不支持 FULLTEXT 類型的索引;

六、InnoDB 中不保存表的行數,如 select count(*) from table 時,InnoDB;需要

掃描一遍整個表來計算有多少行,但是 MyISAM 只要簡單的讀出保存好的行數即

可。注意的是,當 count(*)語句包含 where 條件時 MyISAM 也需要掃描整個表;

七、對於自增長的字段,InnoDB 中必須包含只有該字段的索引,但是在 MyISAM

表中可以和其他字段一起建立聯合索引;

八、清空整個表時,InnoDB 是一行一行的刪除,效率非常慢。MyISAM 則會重

建表;

九、InnoDB 支持行鎖(某些情況下還是鎖整表,如 update table set a=1 where

user like '%lee%'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM