MySQL是一款常见的关系型数据库管理系统,它支持多种存储引擎。存储引擎是MySQL用来管理数据存储和访问的组件,用户可以根据自己的需求选择不同的存储引擎来优化应用程序的性能。
1. MySQL默认引擎是什么?
MySQL从5.5以前的版本默认存储引擎是MyISAM,从5.5版本开始默认存储引擎是InnoDB。
1.1 MyISAM存储引擎
MyISAM是一种基于表的存储引擎,它支持全文索引和压缩。MyISAM使用表级锁定机制来控制并发查询,表级锁定意味着当一个查询在进行中时,其他查询必须等待该查询结束才能执行。
MyISAM存储引擎的优点是非常快速,特别是对于读取密集型的应用程序。然而,它在写入并发性上表现不佳,因为它使用表级锁定机制。
1.2 InnoDB存储引擎
InnoDB是一种支持事务的基于行的存储引擎。它支持完整性约束和外键,可以在高并发负载下提供更好的性能和可伸缩性,并通过多版本并发控制(MVCC)来提供高并发度。
InnoDB存储引擎的优势在于支持事务,将数据存储在表里之前,进行了排序并使用了B+树索引等操作,因此在高并发度和大数据量下表现出色。
2. 如何查看MySQL的默认引擎?
我们可以通过查询MySQL的系统变量default_storage_engine来获取默认的存储引擎:
SHOW VARIABLES LIKE 'default_storage_engine';
执行以上命令后,会返回以下结果:
![mysql-default-engine.png](https://cdn.nlark.com/yuque/0/2021/png/1990263/1628141668228-e1e0fcff-bdf1-4f75-85d3-98a0e54f5d3d.png#align=left&display=inline&height=37&margin=%5Bobject%20Object%5D&name=mysql-default-engine.png&originHeight=74&originWidth=754&size=3616&status=done&style=none&width=377)
从结果可以看到,MySQL的默认存储引擎是InnoDB。
3. 如何修改MySQL的默认引擎?
我们可以通过修改MySQL的配置文件my.cnf来修改MySQL的默认存储引擎。
打开my.cnf文件,找到[mysqld]节点,添加以下配置项:
[mysqld]
default-storage-engine=MyISAM
保存修改后,重启MySQL服务,即可将默认存储引擎修改为MyISAM。
4. 总结
MySQL的默认存储引擎从5.5版本开始变成了InnoDB,它是一种支持事务的基于行的存储引擎。MyISAM是一种基于表的存储引擎,它不支持事务,但对读取关注较多的应用程序有较高的性能。用户可以根据自己的应用场景选择不同的存储引擎来优化应用程序的性能。