日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL MyISAM和InnoDB存储引擎的比较

發(fā)布時間:2024/9/19 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL MyISAM和InnoDB存储引擎的比较 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MyISAM是MySQL的默認存儲引擎,基于傳統(tǒng)的ISAM類型,支持全文搜索,但不是事務(wù)安全的,而且不支持外鍵。每張MyISAM表存放在三個文件中:frm?文件存放表格定義;數(shù)據(jù)文件是MYD?(MYData);索引文件是MYI?(MYIndex)。

InnoDB是事務(wù)型引擎,支持回滾、崩潰恢復(fù)能力、多版本并發(fā)控制、ACID事務(wù),支持行級鎖定(InnoDB表的行鎖不是絕對的,如果在執(zhí)行一個SQL語句時MySQL不能確定要掃描的范圍,InnoDB表同樣會鎖全表,如like操作時的SQL語句),以及提供與Oracle類型一致的不加鎖讀取方式。InnoDB存儲它的表和索引在一個表空間中,表空間可以包含數(shù)個文件。

主要區(qū)別:

MyISAM是非事務(wù)安全型的,而InnoDB是事務(wù)安全型的。
MyISAM鎖的粒度是表級,而InnoDB支持行級鎖定。
MyISAM支持全文類型索引,而InnoDB不支持全文索引。
MyISAM相對簡單,所以在效率上要優(yōu)于InnoDB,小型應(yīng)用可以考慮使用MyISAM。
MyISAM表是保存成文件的形式,在跨平臺的數(shù)據(jù)轉(zhuǎn)移中使用MyISAM存儲會省去不少的麻煩。
InnoDB表比MyISAM表更安全,可以在保證數(shù)據(jù)不會丟失的情況下,切換非事務(wù)表到事務(wù)表(alter?table?tablename?type=innodb)。
應(yīng)用場景:

MyISAM管理非事務(wù)表。它提供高速存儲和檢索,以及全文搜索能力。如果應(yīng)用中需要執(zhí)行大量的SELECT查詢,那么MyISAM是更好的選擇。
InnoDB用于事務(wù)處理應(yīng)用程序,具有眾多特性,包括ACID事務(wù)支持。如果應(yīng)用中需要執(zhí)行大量的INSERT或UPDATE操作,則應(yīng)該使用InnoDB,這樣可以提高多用戶并發(fā)操作的性能。


常用命令:

  (1)查看表的存儲類型(三種):

show?create?table?tablename
show?table?status?from??dbname??where?name=tablename
mysqlshow??-u?user?-p?password?--status?dbname?tablename
  (2)修改表的存儲引擎:

alter?table?tablename?type=InnoDB
  (3)啟動mysql數(shù)據(jù)庫的命令行中添加以下參數(shù)使新發(fā)布的表都默認使用事務(wù):

--default-table-type=InnoDB
  (4)臨時改變默認表類型:

set?table_type=InnoDB
show?variables?like?'table_type'
?

總結(jié)

以上是生活随笔為你收集整理的MySQL MyISAM和InnoDB存储引擎的比较的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。