MySql学习笔记—引擎相关

存储引擎

Mysql支持多种引擎,在5.5版本后默认为InnoDB,以前为MISAM。sql

查看支持的存储引擎

SHOW ENGINES
复制代码

建立数据库时指定引擎

CREATE TABLE TEST(NAME VARCHAR(255)) ENGINE =InnoDB;
复制代码

修改引擎

alter table test engine =InnoDB;
复制代码

常见几种不一样引擎的特性

MyISAM

不支持事务,不支持外键,访问速度快。以SELECT,INSERT为主的的应用能够使用该引擎。数据库

表可能会损坏,可修复。缓存

支持三种不一样的存储格式,分别是静态表、动态表和压缩表。安全

静态表字段长度不可变,优势是存储迅速,易缓存,出现故障易恢复,缺点是占用空间较大,由于字段长度不可变,会填充空格,在访问时会去除空格。若原数据尾部存在空格也会去除。工具

动态表字段长度可变,占用空间少。若频繁更新和删除记录会产生碎片,须要按期执行 OPTIMIZE 命令来优化性能,出现故障较难恢复性能

压缩表由myisampack 工具建立,占用空间很是小。优化

InnoDB

InnoDB提供了事务安全,具备提交、回滚、崩溃恢复能力。可是写效率较差,会占用更多的资源保留数据和索引。spa

与其余数据库的差别:code

  • 自动增加列cdn

    自动增加列必须是索引。

  • 外键约束

    InnoDB是Mysql惟一支持外键的引擎。

  • 存储方式

    InnoDB有两种存储表方式,共享表空间存储和多表空间存储。

MEMORY

数据存放在内存中,访问速度极快,默认采起哈希索引。一旦服务关闭,数据就会丢失。

相关文章
相关标签/搜索