什么是存储引擎?
我们知道关系型数据库的数据是存在表里的,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式,每个表格就是一个数据。
表是在存储数据的同时,还要组织数据的存储结构,而这些数据的组织结构就是由存储引擎决定的。
即存储引擎的作用就是规定了数据存储时的存储结构。
现实生活中,由于不同业务产生了不同的数据,这些数据有的可能偏重于被频繁查询,有的要求增删速度快,有的则对事务、索引、外键有特殊规定。
这样一来,就对存储数据的表要求使用不同的数据组织结构,也就是存储引擎。
简而言之,就是业务直接决定了存储引擎。
从这里就可以看出,同一个数据库内的多个表,可以使用各自符合业务的存储引擎,即存储引擎的使用级别是数据表。
比如MySQL中MyISAM引擎不支持事务的概念,多用于数据仓库这样查询多而事务少的情况,速度较快。
MySQL中InnoDB引擎支持事务的概念,多用于web网站后台等实时的中小型事务处理后台。
对我们来说,MySQL提供了很多种类型的存储引擎,我们可以根据对数据处理的需求,选择不同存储引擎,从而提高MySQL的使用性能。