千家信息网

什么是InnoDB存储引擎

发表于:2025-01-30 作者:千家信息网编辑
千家信息网最后更新 2025年01月30日,这篇文章主要介绍"什么是InnoDB存储引擎",在日常操作中,相信很多人在什么是InnoDB存储引擎问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"什么是InnoDB存储
千家信息网最后更新 2025年01月30日什么是InnoDB存储引擎

这篇文章主要介绍"什么是InnoDB存储引擎",在日常操作中,相信很多人在什么是InnoDB存储引擎问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"什么是InnoDB存储引擎"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1. InnoDB 简介

MySQL 5.5 版本以后,默认存储引擎就是 InnoDB 了。 InnoDB 是一种兼顾了高可靠性和高性能的通用存储引擎。在 MySQL 5.7 中,除非你配置了其他默认存储引擎,否则执行 CREATE TABLE 不指定 ENGINE 的语句将创建一个 InnoDB 表。

# 查看MySQL支持的存储引擎mysql> show engines;+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        || MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         || MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         || BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         || MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         || CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         || ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         || PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         || FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+# 查看默认存储引擎mysql> show variables like 'default_storage_engine';+------------------------+--------+| Variable_name          | Value  |+------------------------+--------+| default_storage_engine | InnoDB |+------------------------+--------+

2. InnoDB 优势

InnoDB 之所以如此受宠,主要在于其功能方面的较多优势。

1)支持事务

InnoDB 最重要的一点就是支持事务,可以说这是 InnoDB 成为 MySQL 中最流行的存储引擎的一个非常重要的原因。此外 InnoDB 还实现了 4 种隔离级别(READ UNCOMMITTED,READ COMMITTED,REPEATABLE READ 和 SERIALIZABLE),使得对事务的支持更加灵活。

2)灾难恢复性好

InnoDB 通过 commit、rollback、crash-recovery 来保障数据的安全。

具体来说,crash-recovery 就是指如果服务器因为硬件或软件的问题而崩溃,不管当时数据是怎样的状态,在重启 MySQL 后,InnoDB 都会自动恢复到发生崩溃之前的状态。

3)使用行级锁

InnoDB 改变了 MyISAM 的锁机制,实现了行锁。虽然 InnoDB 的行锁机制是通过索引来完成的,但毕竟在数据库中大部分的 SQL 语句都要使用索引来检索数据。行锁定机制也为 InnoDB 在承受高并发压力的环境下增强了不小的竞争力。

4)实现了缓冲处理

InnoDB 提供了专门的缓冲池,实现了缓冲管理,不仅能缓冲索引也能缓冲数据,常用的数据可以直接从内存中处理,比从磁盘获取数据处理速度要快。在专用数据库服务器上,通常会将最多80%的物理 memory 分配给缓冲池。

5)支持外键

InnoDB 支持外键约束,检查外键、插入、更新和删除,以确保数据的完整性。存储表中的数据时,每张表的存储都按主键顺序存放,如果没有显式在表定义时指定主键,InnoDB 会为每一行生成一个6字节的 ROWID ,并以此作为主键。

到此,关于"什么是InnoDB存储引擎"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

存储 引擎 数据 支持 缓冲 学习 事务 就是 机制 处理 重要 优势 数据库 更多 服务器 状态 语句 问题 帮助 服务 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 第七届国家网络安全答案 在数据库中搜索指定关键字段的表 乡镇开展网络安全周宣讲 ic设计公司软件开发面试题 长春管理软件开发公司 手机网络安全防盗 软件开发转行业适合做什么 枣庄智慧社区软件开发系统 义乌软件开发计划 为什么要手动清理数据库 数据库速成课高数帮百度网盘 软件开发动态信息 如何获得服务器地址 网络技术专业如何培养 诚殷网络技术论坛 潮州大数据软件开发工程师 运维服务器系统是什么 苹果id服务器无法登陆 戴尔服务器管理ip默认密码 财务必须把服务器放置在国内 第七届国家网络安全答案 软件开发转行干什么工作 数据库系统ppt概论 车载网络技术课后答案 互联网多媒体科技专业学什么 互联网科技公司都做什么的 老头环突然无法连接服务器 网络安全黑板报 宣传 网络的服务器红色信号咋回事 聚焦网络安全海报设计
0