存储引擎是mysql中特有的术语,实际上存储引擎是一个表存储或者组织数据的方式。不同的存储引擎,表存储数据的方式不一样。
怎么为表指定存储引擎呢?建表的时候指定存储引擎、字符编码方式。engine来指定存储引擎,charset来指定这张表的字符编码方式。mysql默认的引擎是InnoDB,MySQL默认的字符编码方式是utf8。可扩展gbk
-- 指定存储引擎 默认表中字符串的编码--
create table t_vip(id bigint primary key auto_increment,name varchar(255))engine=InnoDB default charset=utf8;
怎么查看mysql支持的存储引擎?使用命令 show engines \G,mysql数据库一共支持9种存储引擎。注意数据库版本的差异
mysql常用的存储引擎介绍?
MyISAM存储引擎
管理的表有以下特征:
使用三个文件表示每张表
格式文件 存储表结构的定义 .frm文件
数据文件 存储表行内容 .myd文件
索引文件 存储表上索引 .MYI文件
可以转换为只读表来节省空间。
对于一张表来说,主键或者添加了唯一约束(unique)的字段默认都自动创建了索引。
InnoDB存储引擎
mysql默认的存储引擎,支持事务,支持数据库崩溃之后自动恢复的机制。
每个InnoDB表在数据据库中使用格式文件存储。
多版本行级锁定
支持外键及引用的完整性。
MEMORY存储引擎
表数据和索引都存储在内存中,优点是:无论是访问还是存储,速度的都非常快。
但是不能包含text或blob字段。表级锁机制。