InnoDB数据字典详解-系统表
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,1、简介InnoDB中,实际上看不到系统表。有4个最基本的系统表来存储表的元数据:表、列、索引、索引列等信息。这4个表分别是SYS_TABLES、SYS_COLUMNS、SYS_INDEXES、SYS
千家信息网最后更新 2025年01月23日InnoDB数据字典详解-系统表
1、简介
InnoDB中,实际上看不到系统表。有4个最基本的系统表来存储表的元数据:表、列、索引、索引列等信息。这4个表分别是SYS_TABLES、SYS_COLUMNS、SYS_INDEXES、SYS_FIELDS。下面分别介绍
2、SYS_TABLES
存储所有以InnoDB为存储引擎的表,每条记录对应一个表。该表的列分别是:
NAME:表名ID:表的ID号N_COLS:表的列数TYPE:表的存储类型,包括记录的格式、压缩等信息MIX_ID、MIX_LEN、CLUSTER_NAME:暂时未用SPACE:这个表所在的表空间ID。
这个表在NAME上有聚集索引,ID上有唯一二级索引。
3、SYS_COLUMNS
存储列信息,每一列对应一条记录。表列:
TABLE_ID:该列所属表的IDPOS:该列在表中第几列NAME:列名MTYPE:列的主数据类型PRTYPE:列的精确数据类型LEN:列数据长度,不包括varchar类型,因为该类型在记录里面已经存储了PREC:列数据的精度。
该表的主键列是(TABLE_ID,POS)
4、SYS_INDEXES
存储索引信息,每条记录对应一个索引。
TABLE_ID:该列所属表的IDID:索引的索引号NAME:索引名N_FIELDS:索引包含的列数TYPE:索引类型,包括聚集索引、唯一索引、DICT_UNIVERSAL、DICT_IBUFSPACE:索引所在表的表空间IDPAGE_NO:该索引对应的B+树的根页面号。
该表主键(TABLE_ID,ID)
5、SYS_FIELDS
存储定义的索引列,每条记录对应一个索引列:
INDEX_ID:该列所在的索引IDPOS:该列在索引中第几列COL_NAME:列名
该表主键是(INDEX_ID,POS)
6、数据字典表根页面位置,在innodb中使用系统表空间0号文件的第7号页面存储。该页面存储了上面4个表的5个根页号,以及下一个表ID值、下一个索引ID值、下一个表空间ID值、rowid。第7号页结构如下所示:
dict0boot.h::
/* Dictionary header offsets */ #define DICT_HDR_ROW_ID 0 /* The latest assigned row id */ #define DICT_HDR_TABLE_ID 8 /* The latest assigned table id */ #define DICT_HDR_INDEX_ID 16 /* The latest assigned index id */ #define DICT_HDR_MAX_SPACE_ID 24 /* The latest assigned space id,or 0*/ #define DICT_HDR_MIX_ID_LOW 28 /* Obsolete,always DICT_HDR_FIRST_ID*/ #define DICT_HDR_TABLES 32 /* Root of SYS_TABLES clust index */ #define DICT_HDR_TABLE_IDS 36 /* Root of SYS_TABLE_IDS sec index */ #define DICT_HDR_COLUMNS 40 /* Root of SYS_COLUMNS clust index */ #define DICT_HDR_INDEXES 44 /* Root of SYS_INDEXES clust index */ #define DICT_HDR_FIELDS 48 /* Root of SYS_FIELDS clust index */ #define DICT_HDR_FSEG_HEADER 56 /* Segment header for the tablespace segment into which the dictionary header is created */
下一节讲解系统表的加载及普通表数据字典的加载原理。
索引
存储
数据
类型
系统
信息
空间
页面
所在
字典
所属
普通
精确
位置
原理
实际
实际上
引擎
文件
格式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库说未提交行1中的数据
北大青鸟软件开发培训机构
合肥网络技术学院
网络安全构成什么内容
关系数据库一对一一对多
智能驾驶软件开发用什么软件
大兴区互联网网络技术推广系统
宣城系统软件开发外包
用服务器处理数据
流媒体服务器软件生产厂
岗前培训软件开发费用
网络安全教育毛笔字
培训数据库日报范文
厦门备件管理软件开发
宁厦盟网络安全有限公司怎么样
成都信息平台软件开发
网络安全面试的自我介绍
重庆网络技术专科工资待遇
数据库学习总结
东海质量网络技术推荐咨询
软件开发文档下载音乐
lol 正在连接服务器
辽宁机电软件开发注意事项
聊城网络安全宣传
单机bs架构数据库
育碧服务器
网络安全实验室标准
离线使用的数据库
高防服务器简介
服务器主机哪家好