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

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

Mysql 的引擎類型MyISAM、InnoDB介紹及變更

2019-11-09 13:30:31
字體:
來源:轉載
供稿:網友
nnoDB和MyISAM是許多人在使用MySQL時最常用的兩個表類型,這兩個表類型各有優劣,視具體應用而定。
一、基本的差別為:
1、MyISAM類型不支持事務處理等高級處理,而InnoDB類型支持。2、MyISAM類型的表強調的是性能,其執行數度比InnoDB類型更快,但是不提供事務支持,而InnoDB提供事務支持以及外部鍵等高級數據庫功能。

3、InnoDB不支持FULLTEXT類型的索引。

4、InnoDB 中不保存表的具體行數,也就是說,執行select count(*) from table時,InnoDB要掃描一遍整個表來計算有多少行,但是MyISAM只要簡單的讀出保存好的行數即可。注意的是,當count(*)語句包含 where條件時,兩種表的操作是一樣的。

5、對于AUTO_INCREMENT類型的字段,InnoDB中必須包含只有該字段的索引,但是在MyISAM表中,可以和其他字段一起建立聯合索引。

6、DELETE FROM table時,InnoDB不會重新建立表,而是一行一行的刪除。

7、LOAD TABLE FROM MASTER操作對InnoDB是不起作用的,解決方法是首先把InnoDB表改成MyISAM表,導入數據后再改成InnoDB表,但是對于使用的額外的InnoDB特性(例如外鍵)的表不適用。

  另外,InnoDB表的行鎖也不是絕對的,假如在執行一個SQL語句時MySQL不能確定要掃描的范圍,InnoDB表同樣會鎖全表,例如update table set num=1 where name like “%aaa%”

  兩種類型最主要的差別就是Innodb 支持事務處理與外鍵和行級鎖。而MyISAM不支持.所以MyISAM往往就容易被人認為只適合在小項目中使用。

  作為使用MySQL的用戶角度出發,Innodb和MyISAM都是比較喜歡的,如果數據庫平臺要達到需求:99.9%的穩定性,方便的擴展性和高可用性來說的話,MyISAM絕對是首選。

二、有三種方式可以設定數據庫引擎:
(1)修改配置文件

將安裝目錄下~/MySQL/mysql-5.6.31-winx64的my.int配置文件打開,在[mysqld]的后面修改或添加(如果你之前未設置)下列語句:

而我會自己修改為MyISAM,以后在你創建數據表時默認引擎為當前設置。

(2)創建數據表時聲明

mysql> create table test(      -> id int(10) unsigned not null auto_increment,      -> name varchar(10) character set utf8,      -> age int(10),      -> PRimary key(id)      -> )      -> engine=MyISAM      -> ;  

(3)更改數據表的引擎

數據表的引擎類型,不是一成不變的,可以通過可視化應用如Navicat for Mysql進行修改,也可以通過命令來修改,下面將剛才新建的test表格引擎修改為InnoDB.

alter table test engine=innodb;  


上一篇:PG數據庫工具

下一篇:分區建表1

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 四子王旗| 紫云| 军事| 邓州市| 西林县| 周至县| 西藏| 阿坝| 乐安县| 西林县| 杭锦旗| 商都县| 依安县| 正蓝旗| 维西| 瑞安市| 方山县| 田东县| 贞丰县| 兴宁市| 新安县| 阜城县| 祥云县| 玉环县| 岑巩县| 阿拉尔市| 青河县| 长治市| 沙洋县| 色达县| 阳信县| 梨树县| 扎囊县| 皮山县| 孟津县| 龙江县| 淮阳县| 读书| 驻马店市| 含山县| 忻州市|