什么是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)

相关推荐

  • 累的组词,“累”的偏旁部首是什么

    技术累的组词,“累”的偏旁部首是什么一、累的偏旁部首是糸,结构是上下结构。二、基本字义累léi1、〔累累〕连续成串累的组词;颓丧的样子,如“累累若丧家之犬”。2、〔累赘〕多余,不简洁,如“文字累累”;使人感到多余或麻烦的

    生活 2021年10月26日
  • imp导入乱码怎么办

    技术imp导入乱码怎么办小编给大家分享一下imp导入乱码怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 在i

    攻略 2021年11月11日
  • 21合并两个有序链表

    技术21合并两个有序链表 21合并两个有序链表21合并两个有序链表
    题目
    将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
    用例
    输入:l1 = [1,2

    礼包 2021年10月28日
  • 如何理解Java MeteoInfo解析与绘图代码教程

    技术如何理解Java MeteoInfo解析与绘图代码教程这篇文章主要讲解了“如何理解Java MeteoInfo解析与绘图代码教程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究

    攻略 2021年10月21日
  • spark 有向无环图优点(spark生态图中机器学习算法)

    技术Spark有向无环图检测的示例分析这篇文章给大家介绍Spark有向无环图检测的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。01—Spark背景介绍Apache Spark 是专为大规模

    攻略 2021年12月17日
  • 环境,6)Linux文件系统二

    技术环境,6)Linux文件系统二 环境(6)Linux文件系统二一:计算机间的数据传输
    windows—linux :lrzsz :需要手动安装 yum install lrzsz -y ; rz

    礼包 2021年11月15日