MySQL数据字典
数据字典表受保护,只能在MySQL的调试版本中访问。但是,MySQL支持通过INFORMATION_SCHEMA表和SHOW语句访问存储在数据字典表中的数据。有关构成数据字典的表的概述,请参见数据字典表。MySQL系统表仍然存在于MySQL 8.0中,可以通过SHOW TABLES在mysql系统数
在以前的MySQL版本中,字典数据部分存储在元数据文件中。基于文件的元数据存储的问题包括昂贵的文件扫描,对文件系统相关错误的敏感性,用于处理复制和崩溃恢复失败状态的复杂代码以及缺乏可扩展性,使得难以为新功能和关系对象添加元数据。下面列出的元数据文件已从MySQL中删除。除非另有说明,否则以前存储在元
数据字典架构将字典数据存储在事务(InnoDB)表中。数据字典表mysql与非数据字典系统表一起位于数据库中。数据字典表在InnoDB名为的单个表空间中创建,该表空间mysql.ibd位于MySQL数据目录中。该mysql.ibd表空间文件必须位于MySQL数据目录中,并且其名称不能被其他表空间修改
字典对象高速缓存是一个共享的全局高速缓存,该高速缓存将以前访问的数据字典对象存储在内存中,以使对象可以重用并最小化磁盘I / O。类似于MySQL使用的其他缓存机制,字典对象缓存使用基于 LRU的逐出策略从内存中逐出最近最少使用的对象。字典对象缓存包括存储不同对象类型的缓存分区。一些缓存分区大小限制
随着数据字典的引入,以下INFORMATION_SCHEMA表被实现为数据字典表的视图:CHARACTER_SETSCHECK_CONSTRAINTSCOLLATIONSCOLLATION_CHARACTER_SET_APPLICABILITYCOLUMNSCOLUMN_STATISTICSEVEN
除了将有关数据库对象的元数据存储在数据字典中之外,My