mysql为什么用innodb
时间: 2023-02-21 16:37:53 浏览: 67
MySQL 使用 InnoDB 的原因有以下几点:
1. 支持事务:InnoDB 支持 ACID(原子性、一致性、隔离性、持久性)事务,保证数据的完整性和一致性。
2. 提供外键约束:InnoDB 支持外键约束,可以保证数据的完整性和一致性。
3. 提供行级锁:InnoDB 支持行级锁,使得多个用户可以并行地读取和修改数据,提高系统的并发性。
4. 提供高可用性:InnoDB 支持热备份和数据重建,使得系统具有高可用性。
总的来说,InnoDB 是 MySQL 的一个功能强大的存储引擎,提供了丰富的功能和优秀的性能,是很多用户选择的存储引擎。
相关问题
mysql为什么用innodb优点和缺点
InnoDB 是 MySQL 数据库的一种存储引擎,它提供了可靠的事务处理和高并发性能支持。以下是 InnoDB 的优点和缺点:
优点:
1. 支持事务。InnoDB 支持 ACID 事务特性,可以保证数据的一致性和完整性。
2. 高并发性能。InnoDB 提供了行级锁定,可以保证多个用户并发访问同一数据时不会出现互相干扰的情况,从而提高了数据库的并发性能。
3. 支持外键。InnoDB 支持外键约束,可以保证数据的完整性。
4. 支持数据恢复。InnoDB 提供了完善的数据恢复机制,可以在数据库出现故障时快速恢复数据。
缺点:
1. 占用内存。InnoDB 在执行操作时需要占用较多的内存空间,可能导致系统性能下降。
2. 配置复杂。InnoDB 的配置较为复杂,需要进行详细的设置才能达到最佳的性能。
3. 不支持全文索引。InnoDB 不支持全文索引,如果需要全文索引功能,需要使用其他存储引擎。
4. 速度较慢。相对于 MyISAM 存储引擎,InnoDB 的查询速度较慢,但是可以通过优化配置和调整参数来提高查询性能。
mysql innodb full purge是什么
在 MySQL InnoDB 存储引擎中,没有一个叫做 "innodb full purge" 的特定操作。也许您指的是 "innodb_flush_method" 参数,它控制 MySQL InnoDB 引擎如何将数据从内存写入磁盘。以下是一些可能与之相关的参数:
- innodb_flush_log_at_trx_commit: 每个事务提交时,InnoDB 是否将事务日志缓冲写入磁盘。可能的值是 0、1 或 2,其中 0 表示不写入磁盘,1 表示每次提交都写入磁盘,2 表示每秒钟写入一次磁盘。
- innodb_flush_method: 控制 InnoDB 如何将数据从内存写入磁盘。可能的值包括 O_DIRECT、O_DSYNC、O_SYNC 和 fsync。O_DIRECT 和 O_DSYNC 是直接将数据写入磁盘的方法,而 O_SYNC 和 fsync 则会等待磁盘确认写入操作完成后才返回。
- innodb_max_dirty_pages_pct: InnoDB 允许脏页(未写入磁盘的数据页)占用缓冲区池的最大比例。如果缓冲区池中的脏页数量超过了这个百分比,InnoDB 将开始将缓冲区池中的数据写入磁盘。
这些参数可以通过修改 MySQL 配置文件中的 my.cnf 或通过在 MySQL 客户端中执行 SET 命令来更改。