一:数据库存储引擎
数据库引擎是数据库底层软件组件,不同的存储引擎提供不同的存储机制,索引技巧,锁定水平等功能,使用不同的数据库引擎,可以获得特定的功能。
二:如何查看引擎
# 查看数据库支持的引擎
show engines
查看当前数据的引擎:show create table 表名
- 查看当前库所有表的引擎
show TABLE STATUS;
- 建表时指定引擎
create table yingqin (id int,name varchar(20)) engine='InnoDB';
- 修改表的引擎
alter table 表名 engine='MyiSAm';
- 修改默认引擎
- vi /etc/my.cnf
- [mysqld]下面
- default-storage-engine=MyIsAM
- 记得保存后重启服务
三:MyISAM与InnoDB的区别
- MyISAM:支持全文索引(full text);不支持事务;表级锁;保存表的具体行数;奔溃恢复不好
- Innodb:支持事务;以前的版本是不支持全文索引,但在5.6之后的版本就开始支持这个功能了;行级锁(并非绝对,当执行sql语句时不能确定范围时,也会进行锁全表例如: update table set id=3 where name like ‘a%’;);不保存表的具体行数;奔溃恢复好
- 什么时候选择什么引擎比较好
- MyISAM:
• 一般来说MyISAM不需要用到事务的时候
• 做很多count计算 - InnoDB:
• 可靠性要求高的,或者要求支持事务
• 想要用到外键约束的时候
- MyISAM: