好久没和大家见面了,今天和大家聊聊数据库中有关存储引擎的一些小知识。
首先我们要知道的是什么是存储引擎,对于小白的我来说,以往我所知道的是只要我写了增删改查的sql语句,数据库就会把我想做的事情进行实现,究竟是怎么实现的,这些我一概不知,今天在公司任务完成的时候了解一下这些知识,在这里也分享给大家一下。存储引擎指的是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型。
那么mysql中有哪些存储引擎呢?我们可以使用 show engines; 命令查看mysql数据库中有哪些存储引擎,具体如下图:
通过上面我们看出,mysql除了默认的InnoDB存储引擎外,还支持很多其他类型的存储引擎,这也是mysql架构的关键优势之一,我们可以根据表的特点使用不同的存储引擎,从而达到更好的性能。
上面提到我们可以根据表的特点为表设置不同的存储引擎,接下来先告诉大家一个命令查看表当前使用的是何种存储引擎 show create table tablename; 如下图,我的users表使用的存储引擎是InnoDB。
当然我还可以使用 show table status like 'tablename'; 命令查看该表所使用的存储引擎
既然我们知道了users表所使用的存储引擎,那我们该怎么去修改呢?可以使用命令:alter table tablename engine=引擎名; 进行修改。我对我的users表进行了alter table users engine=mrg_myisam;修改,接着查看该表的一个状态:
当然我们也可以在创建表的时候指定要使用的存储引擎,命令如下:
create table user(
id int null auto_increment,
username char(20)
) engine = mrg_myisam;
以上就是今天给大家做的一个简单的小分享,我们下次再见
