【MySQL 数据宝典】【磁盘结构】- 002 数据字典

一、数据字典 ( Data Dictionary )

1.1 背景介绍

我们平时使用 INSERT 语句向表中插入的那些记录称之为用户数据,MySQL只是作为一个软件来为我们来保管这 些数据,提供方便的增删改查接口而已。但是每当我们向一个表中插入一条记录的时候,MySQL先要校验一下插 入语句对应的表存不存在,插入的列和表中的列是否符合,如果语法没有问题的话,还需要知道该表的聚簇索引 和所有二级索引对应的根页面是哪个表空间的哪个页面,然后把记录插入对应索引的 B+ 树中。所以说,MySQL 除了保存着我们插入的用户数据之外,还需要保存许多额外的信息,比方说:

  • 某个表属于哪个表空间,表里边有多少列
  • 表对应的每一个列的类型是什么
  • 该表有多少索引,每个索引对应哪几个字段,该索引对应的根页面在哪个表空间的哪个页面
  • 该表有哪些外键,外键对应哪个表的哪些列
  • 某个表空间对应文件系统上文件路径是什么
  • balabala … 还有好多,不一一列举了

1.2 基础结构

可以看到 MySQL中的数据字典是一个重要的组成部分,它包含了数据库的各种元数据信息,如表结构、数据库名或表名、字段的数据类型、视图、索引、存储过程、触发器等内容。
image.pngimage.png

1.2.1 核心存储内容

  1. 表结构:包括表名、字段名、字段类型、字段约束等信息。
  2. 数据库名或表名:标识数据库和表的名称。
  3. 字段的数据类型:定义了每个字段的数据类型,如整型、字符型等。
  4. 视图:虚拟表,由一个或多个表的行或列组成,可以简化复杂查询。
  5. 索引:提高数据检索效率的数据结构,包括主键索引、唯一索引、普通索引等。
  6. 存储过程:存储在数据库中的一组SQL语句,可被重复调用。
  7. 触发器:与表相关联的一段SQL代码,当指定的事件发生时自动执行。

1.3 特点

  • InnoDB数据字典由内部系统表组成,这些表包含用于查找表、索引和表字段等对象的元数据。
  • 在MySQL 8.0之前,由于历史原因,数据字典元数据在一定程度上与InnoDB表元数据文件(.frm文件)中存储的信息重叠。

注: MySQL8.0版本以后 将所有原先存放于数据字典文件中的信息,全部存放到数据库系统表中,即将之前版本的 .frm,.opt等文件都移除了,不再通过文件的方式存储数据字典信息

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# 语言类型(二)—预定义类型之字符串及字符类型简述

总目录 C# 语法总目录 参考链接: C#语法系列:C# 语言类型(一)—预定义类型值之数值类型 C#语法系列:C# 语言类型(二)—预定义类型之字符串及字符类型简述 C#语法系列:C# 语言类型(三)—数组/枚举类型/结构体 C#语法系列:C# 语言类型(四)—传递参数及其修饰符 C#语法…

《SQLite系列》SQLite数据库常用命令大全

SQLite是一个轻量级的数据库系统,广泛应用于嵌入式系统和移动应用中。由于其简洁、快速和高效的特点,SQLite成为了许多开发者的首选数据库。本文将详细介绍SQLite数据库的常用命令,帮助读者更好地掌握和使用SQLite。 一、SQLite命令行工具 …

MySQL-知识点详解

本文简要介绍了MySQL数据库的关键内容,包括数据类型、SQL语句、索引类型以及数据库优化等方面。详细讨论了各种数据类型,比较了DATETIME和TIMESTAMP类型,解释了SQL语句的执行顺序和数据库连接方式,介绍了MySQL索引的概念和优缺点&…

RTT-线程通信:邮箱

RTT-线程通信:邮箱 裸机编程常用全局变量做通信,但在RTT上会有以下缺点: 多线程使用时,需要采用互斥措施 当项目全局变量需要很时候,代码的可读性和全局变量会很差 全局变量会导致分层不合理,与模块化相违背 项目大时&…

前端学习之DOM编程案例:点名案例和秒表案例

点名 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>点名案例</title><style>*{margin: 0;padding: 0;}</style> </head> <body><div id"container">…

H5 台球猜位置小游戏

刷到抖音有人这样玩&#xff0c;就写了一个这样的小游戏练习一下H5的知识点。 小游戏预览 w(&#xff9f;Д&#xff9f;)w 不开挂越急越完成不了&#xff0c;&#x1f47f;确认15次也没全对… 知识点 获取坐标位置的DOM元素&#xff0c;感觉应该是新的吧&#xff0c;以前的…

使用Python进行容器编排Docker Compose与Kubernetes的比较

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 随着容器化技术的普及&#xff0c;容器编排成为了管理和部署容器化应用程序的重要环节。在容…

[C++][算法基础]求约数(试除法)

给定 n 个正整数 &#xff0c;对于每个整数 &#xff0c;请你按照从小到大的顺序输出它的所有约数。 输入格式 第一行包含整数 n。 接下来 n 行&#xff0c;每行包含一个整数 。 输出格式 输出共 n 行&#xff0c;其中第 i 行输出第 i 个整数 的所有约数。 数据范围 1≤…

18 - Debian如何配置vsftpd(3)虚拟用户验证

作者:网络傅老师 特别提示:未经作者允许,不得转载任何内容。违者必究! Debian如何配置vsftpd(3)虚拟用户验证 《傅老师Debian小知识库系列之18》——原创 ==前言== 傅老师Debian小知识库特点: 1、最小化拆解Debian实用技能; 2、所有操作在VM虚拟机实测完成; 3、致力…

【c++20】学习笔记:priority_queue

基于c++20 编译,参考:pair vs tuple大神的文章:基本就两种比较方式 < less than ,降序排列,大顶堆greater than, 升序排列,小顶堆 例子代码 #include <functional> #include <iostream>

类似nohup在windows通过cmd后台运行进程方法

Linux后台运行进程时&#xff0c;通常使用如下方法&#xff1a; nohup "运行的内容" &windows相应功能的命令行如下(此方法进程有页面&#xff0c;可能会在桌面展示&#xff0c;关闭窗口后进程消失。 call start /min "n" "运行的内容"cmd…

上传文件到HDFS

1.创建文件夹 hdfs -dfs -mkdir -p /opt/mydoc 2.查看创建的文件夹 hdfs -dfs -ls /opt 注意改文件夹是创建在hdfs中的&#xff0c;不是本地&#xff0c;查看本地/opt&#xff0c;并没有该文件夹。 3.上传文件 hdfs dfs -put -f file:///usr/local/testspark.txt hdfs://m…

插值与重采样在AI去衣技术中的关键作用

在人工智能&#xff08;AI&#xff09;的众多应用中&#xff0c;去衣技术作为一种新兴的图像处理技术&#xff0c;逐渐引起了广泛关注。这项技术不仅涉及复杂的计算机视觉和深度学习算法&#xff0c;还需要对图像处理中的插值与重采样技术有深入的理解。本文将详细探讨插值与重…

【智能算法】寄生捕食算法(PPA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2020年&#xff0c;AAA Mohamed等人受到自然界乌鸦-布谷鸟-猫寄生系统启发&#xff0c;提出了寄生捕食算法&#xff08;Parasitism – Predation Algorithm, PPA&#xff09;。 2.算法原理 2.1算法…

自动化测试配置文件的使用

ini文件的增删改查 作用&#xff1a;用于储存项目的全局配置变量&#xff1b;如接口地址&#xff0c;环境地址&#xff0c;项目地址&#xff0c;输出文件路径 ini文件格式 [节点名称] 选项选项值 读取文件 import configparser configconfigparser.ConfigParser() config.…

密钥密码学(一)

原文&#xff1a;annas-archive.org/md5/b5abcf9a07e32fc6f42b907f001224a1 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 前言 序言 从秘密解码环到政府政策声明&#xff0c;隐藏和发现信息的挑战长期以来一直吸引着智慧。密码学是一个引人入胜的主题&#xff0c;…

网络安全与密码学--AES加密

分组加密之AES加密算法 AES算法的诞生 python实现AES加密 AES加密详细流程 AES解密过程 AES的应用 1997年 NIST征集AES&#xff08;Advanced Encryption Standard&#xff09;2000年选中 https://www.nist.gov/ https://csrc.nist.gov/projects/block-cipher-techniques A…

串联超前及对应matlab实现

串联超前校正它的本质是利用相角超前的特性提高系统的相角裕度。传递函数为&#xff1a;下面将以一个实际的例子&#xff0c;使用matlab脚本&#xff0c;实现其校正后的相位裕度≥60。

【c/c++】cpp对c的函数扩展

&#xff08;1&#xff09;内联函数 1.含义 C编译器可以将⼀个函数进⾏内联编译&#xff0c;只需要在函数定义时前⾯加上inline即可。被C编译器内联编译的函数叫做内联函数。内联函数在最终⽣成的代码中是没有定义的。C编译器直接将函数体插⼊在函数调⽤的地方。 #include &…

YOLOv8-PySide --- 基于 ultralytics 8.1.0 发行版优化 | 代码已开源

YOLOv8-PySide — 基于 ultralytics 8.1.0 发行版优化 Github 项目地址&#xff1a;https://github.com/WangQvQ/Ultralytics-PySide6 页面效果 如何使用 pip install ultralytics8.1.0 or git clone --branch v8.1.0 --single-branch https://github.com/ultralytics/ultral…