什么是InnoDB存储引擎

技术什么是InnoDB存储引擎这篇文章主要介绍“什么是InnoDB存储引擎”,在日常操作中,相信很多人在什么是InnoDB存储引擎问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是Inn

本文主要介绍“什么是InnoDB存储引擎”。在日常操作中,相信很多人对什么是InnoDB存储引擎都有疑问。边肖查阅了各种资料,整理出简单易用的操作方法,希望能帮助大家解决“什么是InnoDB存储引擎”的疑惑!接下来,请和边肖一起学习!

1. InnoDB 简介

在MySQL版本之后,默认的存储引擎是。

InnoDB。InnoDB是一款兼具高可靠性和高性能的通用存储引擎。在MySQL 5.7中,除非配置其他默认存储引擎,否则执行CREATE TABLE未指定engine的语句将创建InnoDB表。

#检查MySQL支持的存储引擎。

mysqlshowengines

- - - - - -

|引擎|支持|注释|事务| XA |保存点|

- - - - - -

| InnoDB | DEFAULT | Supportstransactions、行级锁定和andforeignkeys | YES | YES | YES |

| MRG _ MYISAM |是|集合信任资产资产表|否|否|否|

|内存|是|基于哈希,存储

d 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存储引擎”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/53573.html

(0)

相关推荐

  • dna聚合酶作用部位,DNA聚合酶作用于什么位置

    技术dna聚合酶作用部位,DNA聚合酶作用于什么位置DNA聚合酶作用部位是磷酸二酯键。1、聚合作用:在引物RNA-OH末端dna聚合酶作用部位,以dNTP为底物,按模板DNA上的指令,即A与T,C与G的配对原则,逐步逐个

    生活 2021年10月23日
  • Go语言中go fmt命令怎么用

    技术Go语言中go fmt命令怎么用这篇文章主要为大家展示了“Go语言中go fmt命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Go语言中go fmt命令怎么用”

    攻略 2021年11月21日
  • View如何实现非中心点旋转

    技术View如何实现非中心点旋转这篇文章主要为大家展示了“View如何实现非中心点旋转”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“View如何实现非中心点旋转”这篇文章吧。

    攻略 2021年12月3日
  • Oracle数据库产重启服务和监听程序怎么实现

    技术Oracle数据库产重启服务和监听程序怎么实现这篇文章主要介绍“Oracle数据库产重启服务和监听程序怎么实现”,在日常操作中,相信很多人在Oracle数据库产重启服务和监听程序怎么实现问题上存在疑惑,小编查阅了各式

    攻略 2021年12月11日
  • 数学小报的内容,五年级的数学手抄报内容

    技术数学小报的内容,五年级的数学手抄报内容一元钱哪里去了 三人住旅店数学小报的内容,每人每天的价格是十元,每人付了十元钱,总共给了老板三十元,后来老板优惠了五元,让服务员退给他们,结果服务员贪污了两元,剩下三元每人退了一

    生活 2021年10月19日
  • python二叉树深度遍历与广度遍历(二叉树的中序遍历操作)

    技术如何返回python二叉树的层序遍历的节点值如何返回python二叉树的层序遍历的节点值,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。【题目】给你一

    攻略 2021年12月13日