MySQL学习笔记(4)-存储引擎

存储引擎:也叫表类型,指的是数据表的存储机制,索引方案等配套相关功能。不同的引擎,由于处理方式不同,会带来不同的功能或者相应的优化,根据实际需求选择合理的引擎。

选择表的存储引擎的标准:

是否需要事务支持。

是否支持外键。

并发量的要求。

错误恢复处理。

是否支持某些功能。

表类型

默认的服务器表类型,通过my.ini可以配置:default-storage-engine=INNODB

在创建表,或者编辑表时,可以指定表的存储引擎:

利用表属性:engine 引擎类型

Engine myysiam

Engine innodb


create table room(
room_id int primary key auto_increment,
room_num char(3)
) engine myisam character set utf8;   // engine innodb

 

Innodb&myisam区别

保存的文件的方式不同:

myisam,一个表,三个文件

Tbl_name.frm    结构

Tbl_name.myd    数据    

Tbl_name.myi    索引


innodb:

一个表一个文件:

所有的innodb表,都使用相同的innodb存储空间在保存数据和索引。


最常用的存储引擎:

MyISAM,Indexed Sequential Access Method(有索引的顺序访问方法)

InnoDB

区别:

数据和索引的保存的文件不同:myisam是分开保存,而innodb是保存到表空间

myisam支持所有压缩,而innodb索引和数据是绑定保存不压缩,体积大。

innodb很多时候是行级锁,而myisam是表级锁,innodb的并发高。

innodb不支持fulltext类型的索引(新版本的innodb也支持)。

innodb支持事务,外键,数据完整性约束要强。而myisam不支持。

猜你喜欢

转载自blog.csdn.net/qq_38826019/article/details/80562103
今日推荐