国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

MySQL數據庫MyISAM與InnoDB存儲引擎的比較

2019-11-08 20:32:13
字體:
來源:轉載
供稿:網友

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

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

主要區別: - ?MyISAM是非事務安全型的,而InnoDB是事務安全型的。 - ?MyISAM鎖的粒度是表級,而InnoDB支持行級鎖定。 - ?MyISAM支持全文類型索引,而InnoDB不支持全文索引。 - ?MyISAM相對簡單,所以在效率上要優于InnoDB,小型應用可以考慮使用MyISAM。 - ?MyISAM表是保存成文件的形式,在跨平臺的數據轉移中使用MyISAM存儲會省去不少的麻煩。 - ?InnoDB表比MyISAM表更安全,可以在保證數據不會丟失的情況下,切換非事務表到事務表(alter table tablename type=innodb)。 應用場景: - ?MyISAM管理非事務表。它提供高速存儲和檢索,以及全文搜索能力。如果應用中需要執行大量的SELECT查詢,那么MyISAM是更好的選擇。 - ?InnoDB用于事務處理應用程序,具有眾多特性,包括ACID事務支持。如果應用中需要執行大量的INSERT或UPDATE操作,則應該使用InnoDB,這樣可以提高多用戶并發操作的性能。

常用命令:

(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數據庫的命令行中添加以下參數使新發布的表都默認使用事務:

?–default-table-type=InnoDB

(4)臨時改變默認表類型:

?set table_type=InnoDB ?show variables like ‘table_type’


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 称多县| 缙云县| 京山县| 启东市| 恩施市| 电白县| 郯城县| 太白县| 哈密市| 永寿县| 土默特右旗| 阿克苏市| 莒南县| 上思县| 浦北县| 镇巴县| 宁武县| 博客| 永平县| 临海市| 阿坝| 宁夏| 东乡族自治县| 中江县| 阿拉善盟| 巴青县| 乌鲁木齐市| 望都县| 乡城县| 静安区| 麻江县| 武穴市| 孝感市| 蚌埠市| 宁夏| 长汀县| 都安| 咸宁市| 泸定县| 凤庆县| 乌拉特前旗|