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:該列所屬表的ID
POS:該列在表中第幾列
NAME:列名
MTYPE:列的主資料型別
PRTYPE:列的精確資料型別
LEN:列資料長度,不包括varchar型別,因為該型別在記錄裡面已經儲存了
PREC:列資料的精度。
該表的主鍵列是(TABLE_ID,POS)
4、SYS_INDEXES
儲存索引資訊,每條記錄對應一個索引。
TABLE_ID:該列所屬表的ID
ID:索引的索引號
NAME:索引名
N_FIELDS:索引包含的列數
TYPE:索引型別,包括聚集索引、唯一索引、DICT_UNIVERSAL、DICT_IBUF
SPACE:索引所在表的表空間ID
PAGE_NO:該索引對應的B+樹的根頁面號。
該表主鍵(TABLE_ID,ID)
5、SYS_FIELDS
儲存定義的索引列,每條記錄對應一個索引列:
INDEX_ID:該列所在的索引ID
POS:該列在索引中第幾列
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 */
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31493717/viewspace-2152628/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- InnoDB資料字典--字典表載入
- 系統表和資料字典檢視
- InnoDB 層系統字典表 | 全方位認識 information_schemaORM
- MySQL InnoDB系統表空間資料檔案配置MySql
- 資料字典和固定表統計資訊更新
- 詳細瞭解INNODB_TRX、INNODB_LOCKs、INNODB_LOCK_waits、PROCESSLIST表AI
- InnoDB 層鎖、事務、統計資訊字典表 | 全方位認識 information_schemaORM
- mysql儲存引擎InnoDB詳解,從底層看清InnoDB資料結構MySql儲存引擎資料結構
- InnoDB 索引詳解索引
- MySQL 增加InnoDB系統表空間大小MySql
- Redis資料結構詳解(2)-redis中的字典dictRedis資料結構
- MySQL 8.0 20個 InnoDB 及資料字典相關的新特性MySql
- MySQL InnoDB資料庫如何保證事務特性示例詳解MySql資料庫
- 【資料庫】解決Mysql資料庫提示innodb表不存在的問題!資料庫MySql
- 詳解Ceph系統資料是如何佈局的?
- MySQL 減少InnoDB系統表空間的大小MySql
- 關於InnoDB表資料和索引資料的儲存索引
- Python中字典使用詳解Python
- InnoDB 層全文索引字典表 | 全方位認識 information_schema索引ORM
- 用python字典統計CSV資料Python
- Innodb 鎖子系統
- InnoDB 層壓縮相關字典表 | 全方位認識 information_schemaORM
- 直播系統開發,pymssql連線資料庫 並設定資料格式為字典SQL資料庫
- 從客戶管理到資料分析:CRM系統模組詳解
- 解決Linux系統下MYSQL資料表大小寫敏感問題LinuxMySql
- 達夢資料庫統計資訊詳解資料庫
- ThinkCMF資料字典
- MySQL資料字典MySql
- 詳解 MySql InnoDB 中意向鎖的作用MySql
- 談談術語表、資料字典、資料目錄分別是什麼
- JavaScript資料結構——字典和雜湊表的實現JavaScript資料結構
- 資料流圖 和 資料字典
- 檢視資料字典
- 關係型資料庫全表掃描分片詳解資料庫
- 23_Oracle資料庫全表掃描詳解(三)Oracle資料庫
- 22_Oracle資料庫全表掃描詳解(二)Oracle資料庫
- 21_Oracle資料庫全表掃描詳解(一)Oracle資料庫
- 【字串演算法】字典樹詳解字串演算法