数据库存储引擎是数据库底层软件组件,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的数据引擎,还可以获得特定的功能,可以满足各种不同的业务场景。
在MySQL中,不需要再整个服务器中使用同一种数据库引擎,针对具体的需求,可以对每一个表使用不同的引擎,引擎种类:innodb、myisam、memery、csv、blackhole、archive等,其中innodb和myisam占到95%以上。
如果要提供提交、回滚和崩溃恢复能力的事物安全(ACID兼容)能力,并要求实现并发控制,InnoDB是个很好的选择。如果数据主要用于插入和查询记录,则MyISAM引擎能提供较高的处理效率。如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果。如果只有insert和select操作,可以选择Archive引擎,Archive存储引擎支持高并发的插入操作,但是本身并不是事务安全的,Archive存储引擎非常适合存储归档数据,如记录日志信息。
查看数据库支持的引擎:show engines;
查看数据库默认的引擎:show variables like “%storage_engine%”;
查看已有数据表的引擎:show create table 数据表名;
设置新建数据表的引擎:create table 表名(字段名 类型 约束) engine=MyISAM;
修改已有数据表的引擎:alter table 表名 ENGINE=引擎名;
在第一节基础上 更新了函数和执行顺序:实操了字符数函数、时间函数、字段截取函数、interval函数等,除最后顺序实操因未导入数据库,导致无法执行