Mysql引擎之INNODB和MYISAM

引入

比如我们在创建一个user用户表的时候,常常跟上ENGINE=InnoDB,这个InnoDB就是所谓的数据库的引擎。
CREATE TABLE tab_user (
id bigint(20) NOT NULL,
active_flag varchar(1) DEFAULT NULL,
birth_date datetime DEFAULT NULL,
email varchar(100) DEFAULT NULL,
home_address varchar(400) DEFAULT NULL,
phone_no varchar(1000) DEFAULT NULL,
sex int(11) DEFAULT NULL,
student_name varchar(400) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

变迁

在MySQL 5.1之前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5之后的版本中,默认的搜索引擎变更为InnoDB。

区别

MYISAMINNODB
事务支持不支持支持
数据行锁定不支持(支持表锁)支持
外键约束不支持支持
全文索引支持不支持
表空间大小较小约为MYISAM的2倍

MYISAM:节约空间,速度较快
INNODB:安全性高,事务处理,多表关联查询

物理空间上存储区别

所有的数据库文件都存在data目录下,本质还是文件的存储,一个数据库就对应一个文件夹

INNODB:
只有一个*.frm文件(…/data/school)以及上级目录下面的ibdata1文件

MYISAM:
对应文件:
*.frm:表结构的定义文件
*.MYD:数据文件
*.MYI:索引文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值