MySQL高级篇(存储引擎InnoDB、MyISAM、Memory)

目录

1、存储引擎简介

1.1、查询建表语句,默认存储引擎:InnoDB

1.2、查看当前数据库支持的存储引擎

1.3、创建表,并指定存储引擎

2、 存储引擎-InnoDB介绍

2.1、存储引擎特点

 3、MyISAM存储引擎

 4、Memory存储引擎

 5、InnoDB、MyISAM、Memory的区别

 6、存储引擎的选择


1、存储引擎简介

1.1、查询建表语句,默认存储引擎:InnoDB

-- 查询建表语句
show create table emp;

1.2、查看当前数据库支持的存储引擎

-- 查看当前数据库支持的存储引擎
show engines;

1.3、创建表,并指定存储引擎

-- 创建表 my_myisam,并指定MYISAM存储引擎
create table my_myisam
(
    id   int,
    name varchar(10)
) engine = MyISAM;

-- 创建表 my_memory,指定MEMORY存储引擎
create table my_memory
(
    id   int,
    name varchar(10)
) engine = MEMORY;

2、 存储引擎-InnoDB介绍

2.1、存储引擎特点

  • 介绍:InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在MySQL 5.5之后,InnoDB是默认的MySQL存储引擎。
  • 特点:DML操作遵循ACID 原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)模型,支持 事务行级锁,提高并发访问性能;支持 外键 FOREIGN KEY约束,保证数据的完整性和正确性;
  • 文件:xxx.ibd:xxx代表的是表名,InnoDB引擎的每张表都会对应这样一个表空间文件,存储该表的表结构(frm、sdi)、数据和索引。参数:innodb_file_per_table
  • 在InnoDB存储引擎中,.ibd文件是表空间文件,用于存储表的数据和索引。每个InnoDB表都有一个与之关联的.ibd文件(除非该表被配置为使用共享表空间)。.ibd文件通常包含表的元数据、数据和索引信息。

    当InnoDB存储引擎的innodb_file_per_table配置选项被启用时,每个InnoDB表都会有自己独立的.ibd文件。这样做的好处是,可以更容易地管理单个表的大小和存储位置,例如,可以通过移动或删除.ibd文件来移动或删除表。

    .ibd文件相对应的是.frm文件,它存储了表的元数据(即表结构)。而InnoDB的系统表空间文件通常命名为ibdata1ibdata2等,用于存储undo日志、插入缓冲区、锁信息等。

    在某些情况下,例如当表损坏或需要优化时,可能需要直接操作.ibd文件。但是,直接操作这些文件是危险的,应该谨慎进行,并在操作前备份相关数据。

show variables like 'innodb_file_per_table';

C:\ProgramData\MySQL\MySQL Server 8.0\Data

Microsoft Windows [版本 10.0.19045.3996]
(c) Microsoft Corporation。保留所有权利。

C:\ProgramData\MySQL\MySQL Server 8.0\Data\mybatis@002dexample>ibd2sdi t_book.ibd
["ibd2sdi"
,
{
        "type": 1,
        "id": 441,
        "object":
                {
    "mysqld_version_id": 80026,
    "dd_version": 80023,
    "sdi_version": 80019,
    "dd_object_type": "Table",
    "dd_object": {
        "name": "t_book",
        "mysql_version_id": 80026,
        "created": 20231209065441,
        "last_altered": 20231209065441,
        "hidden": 1,
        "options": "avg_row_length=0;encrypt_type=N;key_block_size=0;keys_disabled=0;pack_record=1;stats_auto_recalc=0;stats_sample_pages=0;",
        "columns": [
            {
                "name": "bid",
                "type": 16,
                "is_nullable": false,
                "is_zerofill": false,
                "is_unsigned": false,
                "is_auto_increment": false,
                "is_virtual": false,
                "hidden": 1,
                "ordinal_position": 1,
                "char_length": 80,
                "numeric_precision": 0,
                "numeric_scale": 0,
                "numeric_scale_null": true,
                "datetime_precision": 0,
                "datetime_precision_null": 1,
                "has_no_default": true,
                "default_value_null": false,
                "srs_id_null": true,
                "srs_id": 0,
                "default_value": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
                "default_value_utf8_null": true,
                "default_value_utf8": "",
                "default_option": "",
                "update_option": "",
                "comment": "",
                "generation_expression": "",
                "generation_expression_utf8": "",
                "options": "interval_count=0;",
                "se_private_data": "table_id=1162;",
                "engine_attribute": "",
                "secondary_engine_attribute": "",
                "column_key": 2,
                "column_type_utf8": "varchar(20)",
                "elements": [],
                "collation_id": 255,
                "is_explicit_collation": false
            },
            {
                "name": "bname",
                "type": 16,
                "is_nullable": true,
                "is_zerofill": false,
                "is_unsigned": false,
                "is_auto_increment": false,
                "is_virtual": false,
                "hidden": 1,
                "ordinal_position": 2,
                "char_length": 80,
                "numeric_precision": 0,
                "numeric_scale": 0,
                "numeric_scale_null": true,
                "datetime_precision": 0,
                "datetime_precision_null": 1,
                "has_no_default": false,
                "default_value_null": true,
                "srs_id_null": true,
                "srs_id": 0,
                "default_value": "",
                "default_value_utf8_null": true,
                "default_value_utf8": "",
                "default_option": "",
                "update_option": "",
                "comment": "",
                "generation_expression": "",
                "generation_expression_utf8": "",
                "options": "interval_count=0;",
                "se_private_data": "table_id=1162;",
                "engine_attribute": "",
                "secondary_engine_attribute": "",
                "column_key": 1,
                "column_type_utf8": "varchar(20)",
                "elements": [],
                "collation_id": 255,
                "is_explicit_collation": false
            },
            {
                "name": "stuid",
                "type": 16,
                "is_nullable": true,
                "is_zerofill": false,
                "is_unsigned": false,
                "is_auto_increment": false,
                "is_virtual": false,
                "hidden": 1,
                "ordinal_position": 3,
                "char_length": 80,
                "numeric_precision": 0,
                "numeric_scale": 0,
                "numeric_scale_null": true,
                "datetime_precision": 0,
                "datetime_precision_null": 1,
                "has_no_default": false,
                "default_value_null": true,
                "srs_id_null": true,
                "srs_id": 0,
                "default_value": "",
                "default_value_utf8_null": true,
                "default_value_utf8": "",
                "default_option": "",
                "update_option": "",
                "comment": "",
                "generation_expression": "",
                "generation_expression_utf8": "",
                "options": "interval_count=0;",
                "se_private_data": "table_id=1162;",
                "engine_attribute": "",
                "secondary_engine_attribute": "",
                "column_key": 4,
                "column_type_utf8": "varchar(20)",
                "elements": [],
                "collation_id": 255,
                "is_explicit_collation": false
            },
            {
                "name": "DB_TRX_ID",
                "type": 10,
                "is_nullable": false,
                "is_zerofill": false,
                "is_unsigned": false,
                "is_auto_increment": false,
                "is_virtual": false,
                "hidden": 2,
                "ordinal_position": 4,
                "char_length": 6,
                "numeric_precision": 0,
                "numeric_scale": 0,
                "numeric_scale_null": true,
                "datetime_precision": 0,
                "datetime_precision_null": 1,
                "has_no_default": false,
                "default_value_null": true,
                "srs_id_null": true,
                "srs_id": 0,
                "default_value": "",
                "default_value_utf8_null": true,
                "default_value_utf8": "",
                "default_option": "",
                "update_option": "",
                "comment": "",
                "generation_expression": "",
                "generation_expression_utf8": "",
                "options": "",
                "se_private_data": "table_id=1162;",
                "engine_attribute": "",
                "secondary_engine_attribute": "",
                "column_key": 1,
                "column_type_utf8": "",
                "elements": [],
                "collation_id": 63,
                "is_explicit_collation": false
            },
            {
                "name": "DB_ROLL_PTR",
                "type": 9,
                "is_nullable": false,
                "is_zerofill": false,
                "is_unsigned": false,
                "is_auto_increment": false,
                "is_virtual": false,
                "hidden": 2,
                "ordinal_position": 5,
                "char_length": 7,
                "numeric_precision": 0,
                "numeric_scale": 0,
                "numeric_scale_null": true,
                "datetime_precision": 0,
                "datetime_precision_null": 1,
                "has_no_default": false,
                "default_value_null": true,
                "srs_id_null": true,
                "srs_id": 0,
                "default_value": "",
                "default_value_utf8_null": true,
                "default_value_utf8": "",
                "default_option": "",
                "update_option": "",
                "comment": "",
                "generation_expression": "",
                "generation_expression_utf8": "",
                "options": "",
                "se_private_data": "table_id=1162;",
                "engine_attribute": "",
                "secondary_engine_attribute": "",
                "column_key": 1,
                "column_type_utf8": "",
                "elements": [],
                "collation_id": 63,
                "is_explicit_collation": false
            }
        ],
        "schema_ref": "mybatis-example",
        "se_private_id": 1162,
        "engine": "InnoDB",
        "last_checked_for_upgrade_version_id": 0,
        "comment": "",
        "se_private_data": "",
        "engine_attribute": "",
        "secondary_engine_attribute": "",
        "row_format": 2,
        "partition_type": 0,
        "partition_expression": "",
        "partition_expression_utf8": "",
        "default_partitioning": 0,
        "subpartition_type": 0,
        "subpartition_expression": "",
        "subpartition_expression_utf8": "",
        "default_subpartitioning": 0,
        "indexes": [
            {
                "name": "PRIMARY",
                "hidden": false,
                "is_generated": false,
                "ordinal_position": 1,
                "comment": "",
                "options": "flags=0;",
                "se_private_data": "id=289;root=4;space_id=101;table_id=1162;trx_id=10390;",
                "type": 1,
                "algorithm": 2,
                "is_algorithm_explicit": false,
                "is_visible": true,
                "engine": "InnoDB",
                "engine_attribute": "",
                "secondary_engine_attribute": "",
                "elements": [
                    {
                        "ordinal_position": 1,
                        "length": 80,
                        "order": 2,
                        "hidden": false,
                        "column_opx": 0
                    },
                    {
                        "ordinal_position": 2,
                        "length": 4294967295,
                        "order": 2,
                        "hidden": true,
                        "column_opx": 3
                    },
                    {
                        "ordinal_position": 3,
                        "length": 4294967295,
                        "order": 2,
                        "hidden": true,
                        "column_opx": 4
                    },
                    {
                        "ordinal_position": 4,
                        "length": 4294967295,
                        "order": 2,
                        "hidden": true,
                        "column_opx": 1
                    },
                    {
                        "ordinal_position": 5,
                        "length": 4294967295,
                        "order": 2,
                        "hidden": true,
                        "column_opx": 2
                    }
                ],
                "tablespace_ref": "mybatis-example/t_book"
            },
            {
                "name": "fk_book_stuid",
                "hidden": false,
                "is_generated": true,
                "ordinal_position": 2,
                "comment": "",
                "options": "flags=0;",
                "se_private_data": "id=290;root=5;space_id=101;table_id=1162;trx_id=10390;",
                "type": 3,
                "algorithm": 2,
                "is_algorithm_explicit": false,
                "is_visible": true,
                "engine": "InnoDB",
                "engine_attribute": "",
                "secondary_engine_attribute": "",
                "elements": [
                    {
                        "ordinal_position": 1,
                        "length": 80,
                        "order": 2,
                        "hidden": false,
                        "column_opx": 2
                    },
                    {
                        "ordinal_position": 2,
                        "length": 4294967295,
                        "order": 2,
                        "hidden": true,
                        "column_opx": 0
                    }
                ],
                "tablespace_ref": "mybatis-example/t_book"
            }
        ],
        "foreign_keys": [
            {
                "name": "fk_book_stuid",
                "match_option": 1,
                "update_rule": 1,
                "delete_rule": 1,
                "unique_constraint_name": "PRIMARY",
                "referenced_table_catalog_name": "def",
                "referenced_table_schema_name": "mybatis-example",
                "referenced_table_name": "t_stu",
                "elements": [
                    {
                        "column_opx": 2,
                        "ordinal_position": 1,
                        "referenced_column_name": "sid"
                    }
                ]
            }
        ],
        "check_constraints": [],
        "partitions": [],
        "collation_id": 255
    }
}
}
,
{
        "type": 2,
        "id": 106,
        "object":
                {
    "mysqld_version_id": 80026,
    "dd_version": 80023,
    "sdi_version": 80019,
    "dd_object_type": "Tablespace",
    "dd_object": {
        "name": "mybatis-example/t_book",
        "comment": "",
        "options": "autoextend_size=0;encryption=N;",
        "se_private_data": "flags=16417;id=101;server_version=80026;space_version=1;state=normal;",
        "engine": "InnoDB",
        "engine_attribute": "",
        "files": [
            {
                "ordinal_position": 1,
                "filename": ".\\mybatis@002dexample\\t_book.ibd",
                "se_private_data": "id=101;"
            }
        ]
    }
}
}
]

C:\ProgramData\MySQL\MySQL Server 8.0\Data\mybatis@002dexample>

 3、MyISAM存储引擎

  • 介绍:MyISAM是MySQL早期的默认存储引擎
  • 特点:不支持事务,不支持外键;支持表锁,不支持行锁;访问速度快
  • 文件:xxx.sdi:存储表结构信息;xxx.MYD:存储数据;xxx.MYI:存储索引

https://www.json.cn/

 

 4、Memory存储引擎

  • 介绍:Memory引擎的表数据时存储在内存中的,由于受到硬件问题、或断电问题的影响,只能将这些表作为临时表或缓存使用。
  • 特点:内存存放;hash索引(默认)
  • 文件:xxx.sdi:存储表结构信息

 5、InnoDB、MyISAM、Memory的区别

 6、存储引擎的选择

  • InnoDB用于大多数业务场景
  • MyISAM用于业务系统中的日志相关的数据,电商当中足迹和评论相关的数据,已经被 MongoDB 取代
  • MEMORY用于缓存,已经被 redis 取代

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/524436.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

layui在上传多图时,allDone方法只是在第一次全部成功时调用了

问题点:在使用layui框架做多张图片上传时,遇见只有第一次操作上传图片时,触发了allDone全部上传成功的方法,后面再添加图片时,就不会调用这个方法 原因:是因为我删除了 choose 方法,并且也没有将…

算法部署 | 使用TensorRT+DeepSort+YOLOv5在NVIDIA-Jetson平台上部署目标跟踪算法

项目应用场景 面向英伟达 Jetson 边缘计算平台部署目标跟踪算法场景,使用深度学习算法 YOLOv5 DeepSort 来实现,并使用 TensorRT 进行算法加速,项目支持 NVIDIA Jetson Xavier、NVIDIA Jetson Xavier NX、X86 平台的算法部署。 项目效果 项…

uniapp - 微信小程序 - 使用uCharts的一些问题

文章目录 uniapp - 微信小程序 - 使用uCharts的一些问题一、开发者工具显示正常,真机调试统计图不随页面滚动二、数据过多开启滚动条,无法滑动滚动条三、饼图点击不显示提示窗/点击位置bug、多个同类型统计图点击不显示提示框问题四、 formatter 自定义 …

C++进阶(五) 哈希

1. unordered系列关联式容器 1.1 unordered_map 1.2 unordered_map的接口说明 2. 底层结构 2.1 哈希概念 2.2 哈希冲突 2.3 哈希函数 2.4 哈希冲突解决 2.4.1 闭散列 2.4.2 开散列 3. 模拟实现 3.1 unordered_set 3.2 unordered_map 4.哈希的应用 4.1 位图 4.1.…

【机器学习·浙江大学】机器学习概述、支持向量机SVM(线性模型)

机器学习概述 机器学习 特征提取(feature) 根据提取的特征构造算法,实现特定的任务⭐(这门课程的重点:假设所有的特征已经存在且有效,如何根据这些特征来构造学习算法) 如下图所示,机器学习主要就是来进行…

ArcGIS Server 安装教程

​​​​​​​ 一、环境与文件准备 1.软件环境 已安装arcgis Desktop 10.2 2.安装及授权文件 二、安装步骤 1.下载安装包和授权文件,解压后打开ArcGIS Server10.2文件夹,打开ESRI.exe。 2.点击ArcGIS for Server后的Setup,开始安装。 3.…

设计模式深度解析:AI大模型下的策略模式与模板方法模式对比解析

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》《MYSQL应用》 💪🏻 制定明确可量化的目标,坚持默默的做事。 策略模式与模板方法模式对比解析 文章目录 🌟引言🌟Part 1:…

Excel 文件底部sheet 如何恢复

偶然打开一个excel文件,惊奇地发现:原来excel文件底部的若干个sheet居然全都看不到了。好神奇啊。 用其它的电脑打开同样的excel文件,发现:其实能看到的。说明这个excel文件并没有被损坏。只要将修改相关设置。就可以再次看…

如何插入LinK3D、CSF、BALM来直接插入各个SLAM框架中

0. 简介 LinK3D、CSF、BALM这几个都是非常方便去插入到激光SLAM框架的。这里我们会分别从多个角度来介绍如何将每个框架插入到SLAM框架中 1. LinK3D:三维LiDAR点云的线性关键点表示 LinK3D的核心思想和基于我们的LinK3D的两个LiDAR扫描的匹配结果。绿色线是有效匹配。当前关…

WPS二次开发系列:WPS SDK实现文档打印功能

在办公场景或者家教场景中经常碰到需要对文档进行打印的能力,今天给大家带来一篇如何通过WPS SDK调用WPS打印接口实现文档打印能力 最终实现效果图 实现步骤 2.1. 申请集成资料 通过向WPS官方发送邮件申请,审批通过后即可获取集成相关资料,详…

AI智能分析盒子在工地的应用,提高工地管理效率和安全性

工地ai智能分析盒子是一种基于人工智能视觉分析技术的人工智能盒子,旨在提升工地作业区域的管理效率和保障作业人员的安全。通过最前沿的AI视觉算法、大数据,能够实时监控工地现场视频流画面,对施工工地人员的工作着装及日常作业行为进行规范…

Shell脚本从0到会基础学习(个人学习)

一、前言 本人在找工作的时候,发现有的职位要会shell或者是python其中一种脚本语言。由于博主学过python。所以专门开栏学习,只做个人学习。一天学会那种~ 二、练习 2.1 我的第一个脚本--HelloWorld 代码 运行结果 2.2 输出系统常量和 自定义变量 #!…

wheeltec轮趣ROS教育机器人的网络连接

一、术语解析 宿主机:宿主机是指物理主机,比如用于开发测试的笔记本电脑和台式机电脑。 虚拟机:虚拟机是指安装在宿主机的VMware,推荐在宿主机上安装虚拟机,官方提供虚拟机的镜像以及配套的开发环境。 ROS主机&…

《云原生安全攻防》-- 云原生应用风险分析

为了满足每位朋友的学习需求,并且支持课程的持续更新,本系列课程提供了免费版和付费视频版两种方式来提供课程内容。我们会持续更新课程内容,以确保内容的度和实用性。 在本节课程中,我们将一起探讨云原生应用在新的架构模式下可能…

plasmo浏览器插件框架使用react和ant.design框架创建页面内容脚本UI样式注入

使用plasmo开发浏览器插件的时候,想要使用内容脚本UI注入自定义的UI组件,官方文档:Content Scripts UI – Plasmo,最好是搭配上好看的UI样式,所以可以集成ant.design的UI组件库,但是只集成组件还不行&#…

前端入门(认识HTML,CSS,JavaScript三件套)

目录 前言 HTML(构建) CSS(设计) JavaScript(互动) 总结 相关书籍推荐 前言 前端(Frontend)指的是与用户直接交互的部分,也称为客户端。在网站或者应用程序中&…

PyCharm关闭项目后等待时间长

每次关闭项目或PyCharm时,会显示正在关闭项目,而这个关闭时间很长且不可确定,很浪费我们的时间,不过愿意等的话,倒也是可以。 解决方法 Help -> Find Action -> 查找 Registry -> 禁用 ide.await.scope.comp…

【功能更新】强化知识库管理与AI问答机器人性能

三月HelpLook带来了3大类功能焕新,主要聚焦于:知识库的管理功能升级和AI问答机器人的优化,让我们看看更新了哪些新功能! 那么,接下来就让我们来详细了解一下本次升级都带来了哪些新功能吧! 知识库使用与管理…

电话机器人系统源码安装教程

电话机器人系统是一种基于人工智能技术的自动化工具,它可以模仿人类的交谈方式,通过电话与用户进行互动。这种系统广泛应用于客户服务、市场营销、健康咨询等领域。下面是一个基本的电话机器人系统源码安装教程: 1. 准备环境 你需要一个Linu…

《MATLAB科研绘图与学术图表绘制从入门到精通》

解锁MATLAB科研绘图魅力,让数据可视化成为你的科研利器! 1.零基础快速入门:软件操作实战案例图文、代码结合讲解,从入门到精通快速高效。 2.多种科研绘图方法:科研绘图基础变量图形极坐标图形3D图形地理信息可视化等&a…