如何查看存储引擎:
show table status like 'tableName';
show create table tableName;
创建数据库时设置存储引擎:
create table tableName(
columnName1(列名1) type(类型) attri(属性设置),
columnName2(列名2) type(类型) attri(属性设置),
......
) engine=engineName
修改数据库引擎:
alter table tableName engine=engineName
各种数据库引擎的特点:
MyISAM:
不支持事务,也不支持外键,优点是访问速度快
对事物完整性没有要求,或者以select/insert为主的业务基本可以使用MyISAM
INNODB:
提供了具有提交、回滚、崩溃回复等事务安全的支持
但是比MyISAMT引擎,写的效率会低一些,并且会占用更多的磁盘空间保存数据和索引
MEMORY:
Memory使用存在内存中的内容创建表,每个Memory表只实际对应一个磁盘文件,格式是.frm,并且默认使用Hash索引
Memory访问数据的速度非常快,因为其数据是存放在内存中的,并且默认使用Hash索引。
但是服务一旦关闭,表中的数据就会丢失掉。
对于Memory表的更新操作一定要谨慎,因为数据并没有实际保存在磁盘中,所以一定要读下次重新启动服务后如何获得这些修改后的数据有所考虑。
Hash索引优点:
检索效率高,检索的索引可以一次定位。
Hash索引缺点:
hash算法是基于等值计算的。所以对于“like”等范围查找不支持,无效。非精确查找不合用