MYSQL存儲引擎

如何查看存儲引擎:

show table status like 'tableName';

show create table tableName;

 

創建數據庫時設置存儲引擎:

create table tableName(

columnName1(列名1)   type(類型)  attri(屬性設置),

columnName2(列名2)   type(類型)  attri(屬性設置),

......

) engine=engineName

 

修改數據庫引擎:

alter table tableName engine=engineName

 

各種數據庫引擎的特點:

MyISAM:

不支持事務,也不支持外鍵,優點是訪問速度快

對事物完整性沒有要求,或者以select/insert爲主的業務基本可以使用MyISAM

 

 

INNODB:

提供了具有提交、回滾、崩潰回覆等事務安全的支持

但是比MyISAMT引擎,寫的效率會低一些,並且會佔用更多的磁盤空間保存數據和索引

 

MEMORY:

Memory使用存在內存中的內容創建表,每個Memory表只實際對應一個磁盤文件,格式是.frm,並且默認使用Hash索引

Memory訪問數據的速度非常快,因爲其數據是存放在內存中的,並且默認使用Hash索引。

但是服務一旦關閉,表中的數據就會丟失掉。

對於Memory表的更新操作一定要謹慎,因爲數據並沒有實際保存在磁盤中,所以一定要讀下次重新啓動服務後如何獲得這些修改後的數據有所考慮。

 

Hash索引優點:

檢索效率高,檢索的索引可以一次定位。

Hash索引缺點:

hash算法是基於等值計算的。所以對於“like”等範圍查找不支持,無效。非精確查找不合用

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章