1.引擎
- 查看MySQL支持的引擎
show engines;
MyISAM
- 无法处理事务
- 表级锁
- 提供高速存储和检索,以及全文搜索能力,适合选择密集型和插入密集型表
create table `example1` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='示例1';
InnoDB
- 事务安全
- 行级锁
- 适合需要事务支持且有较高并发读取频率的场景
-
MySQL 5.5.5
之后作为默认引擎
create table `example2` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='示例2';
MEMORY
- 存储介质是系统内存,拥有最快的响应时间,但当mysqld守护进程崩溃时会丢失所有数据
- 适合临时性且量较小的数据
create table `example3` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',
PRIMARY KEY (`id`)
) ENGINE=MEMORY DEFAULT CHARSET=utf8 COMMENT='示例3';
MySQL: InnoDB 还是 MyISAM?
Mysql两种存储引擎的优缺点
2.字符集
- 显示可用的字符集
show character set;
- 数据库字符集尽量使用utf8
- 需要存储
emoji表情
时应选用utf8mb4
create table `example4` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='示例4';
网友评论