Mysql的存储引擎
存储引擎的介绍
什么是存储引擎
数据库存储引擎是数据库底层软件组件。数据库管理系统使用数据引擎进行创建、查询、更新和删除数据的操作。
Mysql的核心就是存储引擎。
Mysql提供了多个不同的存储引擎,在Mysql中,不需要在整个服务器中使用同一种存储引擎,我们可以根据对数据处理的需求,选择不同的存储引擎。
MYSQL支持的存储引擎
MYSQL5.7支持的存储引擎有InnoDB,MyISAM,Memory等。
可以使用SHOW ENGINES语句查看系统所支持的引擎类型。
InnoDB存储引擎
1、InnoDB给Mysql提供了具有提交、回滚和崩溃恢复能力的事务安全存储引擎。
2、对于处理巨大数据量的数据拥有很好的性能。
3、InnoDB存储引擎支持外键完整性约束。
4、InnoDB被用在众多需要高性能的大型数据库站点上。
MyISAM存储引擎:
MyISAM拥有较高的插入、查询速度,但不支持事务。
MEMORY存储引擎:
MEMORY存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问。
使用Mysql MEMORY存储引擎的出发点是速度。为了得到最快的响应时间,采用的逻辑存储介质是系统内存。虽然在内存中存储表数据确实会提供很高的性能,但当mysql守护进行崩溃时,所有的Memory数据都会丢失。获得速度得同时也带来了一些缺陷。
如何设置存储引擎
存储引擎的选择:
不同的存储都有各自的特点,已适用不同的需求。
InnoDB:提供提交、回滚和崩溃恢复能力的事务安全能力,可以实现并发控制。
MyISAM:数据表主要用来插入和查询记录,用MyISAM引擎可以提供较高的处理效率。
Memory:临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory引擎。
设置存储引擎1
设置服务器的存储引擎
在配置文件my.ini中的[mysqld] 下面设置需要的存储引擎
default-storage-engine=InnoDB
重启mysql服务器
设置存储引擎2:
设置客户端的存储引擎
SET default_storage_engine=InnoDB;
设置存储引擎3:
创建表时设置存储引擎
例:
Create table mytest(
id int primary key,
name varchar(10)
) ENGINE =InnoDB DEFAULT CHARSET=utf8;
show table status from book where name =‘myengine’;
设置存储引擎4:
Alter table tableName engine =engineName