一、查看存储引擎
1.什么是存储引擎
MySQL的存储引擎就是表的类型
2.查看mysql存储引擎
show engines;
二、设置系统默认的存储引擎
1.查看默认的存储引擎
select @@default_storage_engine;
2.修改默认存储引擎
set default_storage_engine=MyISAM;
三、设置表的存储引擎
存储引擎是负责对表中的数据进行提取和写入的,不同的表设置不同的存储引擎
1.创建表的时候指定引擎
CREATE TABLE 表名(
建表语句;
) ENGINE = 存储引擎名称;
2.修改表的存储引擎
ALTER TABLE 表名 ENGINE = 存储引擎名称;
3.查看当前表的存储引擎
SHOW CREATE TABLE 表名
四、引擎介绍
1.InnoDB引擎:外键,事务,修改删除,高并发
①MySQL版本5.5后默认InnoDB引擎
②InnoDB引擎默认事务型引擎(要么全部成功,要么全部失败),可以确保事务的完整提交和回滚
③优先考虑InnoDB引擎:修改,删除。因为底层是顺序的单链表
④数据文件结构:表名.frm存储表结构,表名.ibd存储数据和索引
⑤处理数据量大的表,有行锁适合高并发
⑥索引就是数据,对内存要求高。InnoDB写的处理差一些,占用磁盘保存数据和索引
2.MyISAM引擎:非事务,读写快
①MyISAM是5.5之前的默认存储引擎
②MyISAM支持全文索引,压缩,空间函数。不支持事务,行级锁,外键,崩溃无法恢复
③MyISAM读写快,count(*)查询效率高,内部有一计数器在维护着行数。
④数据文件结构:
表名.frm存储表结构
表名.MYD存储数据
表名.MYI存储索引
五、InnoDB和MyISAM
六、淘宝的数据库用哪个存储引擎
公司新建了一款存储引擎叫 Xtradb 完全可以替代 Innodb ,并且在性能和并发上做得更好。大部分mysql数据库其实使用的percona的原型加以修改。