首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

软件系统数据字典

在实际商用软件开发中,考虑到系统的配置经常需要变更,而每次都要修改系统功能或设置甚至数据内容则太过复杂,因此可以考虑引入 数据字典 这一设计,来完成软件系统功能的配置,对数据进行细化配置。...数据字典 数据字典的实现,总结起来大致如下: 对应用程序不同类型数据集合,进行分类,管理 用code标识数据,在存储时存储code就行了 数据字典的好处 数据集合统一在一个地方管理,便于阅读所有数据集合...用code标识数据,在存储时存储code就行了,这样即使数据改变了,也不影响程序 数据字典表设计 表设计时达到的目标:使配置的数据字典名称,字典值),不因数据的改变,影响数据的存储(这样就需要设计字典名称的...数据字典设计实例 一 附上公司目前项目的 字典表的设计 : ?...' 说回到数据字典 不论怎么设计数据字典的表都可以,按照自己的实际项目的需要,对数据字典表进行设计,以实现最方便的配置数据,配置项目系统参数,从而实现项目开发和项目实施的高效率。

3.3K40

MySQL 8.0 数据字典

MySQL 8.0 对数据字典进行了重构,用户表、数据字典表、MySQL 其它系统表的元数据都统一保存到 mysql 库的数据字典表中了。...本文我们就来聊聊 MySQL 8.0 中的数据字典表。 本文内容基于 MySQL 8.0.29 源码。 目录 1. 概述 2. 数据字典表有哪些? 3. 数据字典表元数据在哪里? 4....数据字典表本身也大变样了: 数据字典表不再位于 InnoDB 系统表空间,而是迁移到 mysql 库中,mysql 库位于 mysql 表空间,磁盘文件为 mysql.ibd。...除了数据字典表,m_registry 中还包含了 mysql 库中的其它 MySQL 系统表。...打开数据字典数据字典表保存着 MySQL 运行过程中需要的一系列关键数据,使用频次很高,MySQL 启动过程中就会把数据字典表的元数据都加载到内存中,这就是打开表的过程。

1.6K10
您找到你想要的搜索结果了吗?
是的
没有找到

详解MySQL-8.0数据字典

MySQL-8.0在数据字典上进行了诸多优化,本文将对其进行逐一介绍。 ? 图1 2. MySQL-8.0之前的数据字典 俗话说知己知彼,方能百战不殆。...在介绍MySQL-8.0的数据字典前,我们先一起回顾一下MySQL-8.0之前的数据字典。 2.1 Data Dictionary 分布位置 ?...图2 如图2所示,旧的数据字典信息分布在server层,mysql库下的系统表和InnoDB内部系统表三个地方,其中保存的信息分别如下所示: server层文件 .frm files: Table metadata...层与innodb层数据字典容易不一致 文件存储数据字典扩展性不好 通过information_schema查询数据字典时生成临时表不友好 3....MySQL-8.0的数据字典 鉴于旧数据字典的种种缺点,MySQL-8.0对数据字典进行了较大的改动:把所有的元数据信息都存储在InnoDB dictionary table中,并且存储在单独的表空间

6.2K53

MySQL8.0之数据字典

本文将会介绍MySQL 8.0对数据字典的改进,以及改进带来的好处、影响以及局限性。 |  数据字典 (1)新版本之前的数据字典 数据字典数据库重要的组成部分之一,那么什么是数据字典?...在MySQL8.0之前,MySQL数据字典信息,并没有全部存放在系统数据库表中,部分数据数据字典信息存放于文件中,其余的数据字典信息存放于数据字典库中(INFORMATION_SCHEMA,mysql...首先是,将所有原先存放于数据字典文件中的信息,全部存放到数据系统表中,即将之前版本的 .frm,.opt,.par,.TRN,.TRG,.isl文件都移除了,不再通过文件的方式存储数据字典信息。...其次是对INFORMATION_SCHEM,mysql,sys系统库中的存储引擎做了改进,原先使用MyISAM存储引擎的数据字典表都改为使用InnoDB存储引擎存放。...和mysqlpump可以导出mysql系统库中的所有表的内容,8.0之后,只能导出mysql系统库中没有数据数据字典表。

3.2K90

MySQL8.0之数据字典

该库中保存的信息也可以称为MySQL数据字典。...在MySQL8.0之前,MySQL数据字典信息,并没有全部存放在系统数据库表中,部分数据数据字典信息存放于文件中,其余的数据字典信息存放于数据字典库中(INFORMATION_SCHEMA,mysql...首先是,将所有原先存放于数据字典文件中的信息,全部存放到数据系统表中,即将之前版本的 .frm,.opt,.par,.TRN,.TRG,.isl文件都移除了,不再通过文件的方式存储数据字典信息。...其次是对INFORMATION_SCHEM,mysql,sys系统库中的存储引擎做了改进,原先使用MyISAM存储引擎的数据字典表都改为使用InnoDB存储引擎存放。...和mysqlpump可以导出mysql系统库中的所有表的内容,8.0之后,只能导出mysql系统库中没有数据数据字典表。

1.4K10

MySQL 8.0新特性: 数据字典

二、MySQL8.0 数据字典 MySQL Server包含一个事务性数据字典,该字典存储有关数据库对象的信息。...INFORMATION_SCHEMA和数据字典集成” (6)原子DDL。 1、数据字典结构 8.0之前的数据字典 在介绍MySQL8.0的数据字典前,先回顾一下MySQL8.0之前的数据字典。...8.0之前,旧的数据字典信息分布在server层,mysql库下的系统表和InnoDB内部系统表三个地方,其中保存的信息分别如下所示: server层文件 .frm files: Table metadata...SYS_VIRTUAL 8.0之前数据字典存在的问题 (1)数据字典分散存储,维护管理没有统一接口 (2)MyISAM系统表易损坏 (3)DDL没有原子性,server层与innodb层数据字典容易不一致...2、将所有原所有原先存放于数据字典文件中的信息,全部存放到数据系统表中,即将之前版本的.frm,.opt,.par,.TRN,.TRG,.isl文件都移除了,不再通过文件的方式存储数据字典信息 -rw-r

2.1K30

MySQL 8.0数据字典有什么变化

MySQL 8.0数据字典有什么变化 从MySQL 8.0开始,采用独立表空间模式的每个InnoDB表只有一个 .ibd 表空间文件,而不再有 .frm 文件了。...在 .sdi 文件中,采用JSON格式存储元数据信息。 对于MyISAM表,不能再像以前那样,直接把 .frm\.MYD\.MYI 文件拷贝到目标数据库后就能直接用。...方法改成了类似下面这样的: # 首先拷贝数据及索引文件到目标数据库 $ cp -p ./db1/t1.MYD ./db1/t1.MYI ..../db1/t1_1274.sdi $secure_file_priv/ # 修改 .sdi 文件中的 schema 值,将 db1 改成 db2 # MySQL文档中没提到这点,但实测过程中发现需要加这步操作...# 执行导入操作 mysql> IMPORT TABLE FROM '$secure_file_priv/t1_1274.sdi'; 上文中的 $secure_file_priv 需要自行替换成实际路径

17721

MySQL-8.0 | 数据字典最强解读

MySQL-8.0在数据字典上进行了诸多优化,本文将对其进行逐一介绍。 ? 图1 2. MySQL-8.0之前的数据字典 ---- 俗话说知己知彼,方能百战不殆。...在介绍MySQL-8.0的数据字典前,我们先一起回顾一下MySQL-8.0之前的数据字典。 2.1 Data Dictionary 分布位置 ?...图2 如图2所示,旧的数据字典信息分布在server层,mysql库下的系统表和InnoDB内部系统表三个地方,其中保存的信息分别如下所示: server层文件 .frm files: Table metadata...层与innodb层数据字典容易不一致 文件存储数据字典扩展性不好 通过information_schema查询数据字典时生成临时表不友好 3....MySQL-8.0的数据字典 ---- 鉴于旧数据字典的种种缺点,MySQL-8.0对数据字典进行了较大的改动:把所有的元数据信息都存储在InnoDB dictionary table中,并且存储在单独的表空间

3.8K20

MySQL 8.0 数据字典有哪些变化?

墨墨导读:MySQL8.0 数据字典(Data Dictionary)也在进化中。MyISAM系统表全部换成InnoDB表 ,支持原子DDL。复杂度增加了。...1 数据字典 MySQL数据字典数据库重要的组成部分之一,包含表结构、数据库名或表名、字段的数据类型、视图、索引、表字段信息、存储过程、触发器等对象的基础信息。...备注:原先存放于数据字典文件中的信息,全部存放到数据系统表中,即将之前版本的.frm,.opt,.par,.TRN,.TRG,.isl文件进行了移除。...对mysql,sys系统库中的存储引擎做了改进,原使用MyISAM存储引擎的数据字典表都改为使用InnoDB存储引擎存放。...表创建和删除操作的任何存储引擎修改mysql系统数据库中的数据字典表,但这些表使用InnoDB存储引擎,不能在innodb_read_only启用时进行修改。

2.1K20

MySQL 8.0数据字典有什么变化

MySQL 8.0数据字典有什么变化 从MySQL 8.0开始,采用独立表空间模式的每个InnoDB表只有一个 .ibd 表空间文件,而不再有 .frm 文件了。...在 .sdi 文件中,采用JSON格式存储元数据信息。 对于MyISAM表,不能再像以前那样,直接把 .frm\.MYD\.MYI 文件拷贝到目标数据库后就能直接用。...方法改成了类似下面这样的: # 首先拷贝数据及索引文件到目标数据库 $ cp -p ./db1/t1.MYD ./db1/t1.MYI ....# 执行导入操作 mysql> IMPORT TABLE FROM '$secure_file_priv/t1_1274.sdi'; 上文中的 $secure_file_priv 需要自行替换成实际路径...Enjoy MySQL :) ---- 《深入浅出MGR》视频课程 戳此小程序即可直达B站 https://www.bilibili.com/medialist/play/1363850082?

89320

MySQL8功能详解——数据字典

MySQL8推出了支持事务的数据字典。...事务、崩溃安全的数据字典数据字典保存在具有完整事务功能的InnoDB表中,并保存在mysql系统数据库下面。...数据字典升级: 新版本的MySQL可能包含更改的数据字典表定义,当MySQL执行原地升级时,这些更改在服务器重启时执行。...之前mysql系统数据库里面的表是对DDL和DML可见的,MySQL8.0的数据字典表是不可见的,无法直接对其进行查询和修改,但是可以通过查询INFORMATION_SCHEMA来替代。...之前可以将mysql系统库的全部表进行转储,现在只能对非数据字典表执行转储。另外,如需将event和proc表进行转储,需要显示指定 --routines 和 --events选项。

1K30

MySQL8.0数据字典实现一窥

"两级缓存+持久化"结构 整个MySQL 8.0的数据字典实现在数据字典对象分布上呈现 |--Dictionary_client |--Shared_dictionary_cache |--Storage_adapte...以下是一个element_cache所包含的内容,实际上就是一个指向原数据字典对象的指针以及属于这个数据字典对象的key信息。...(MySQL数据字典持久化存储在InnoDB) 主要接口: core_get() 从m_core_registry(一个专门存放系统数据字典对象的map)中获取core_object(如dd_properties.../tables之类的数据字典表) core_store() 存储一个系统表core_object对象 core_drop() 删除一个系统表core_object对象 get() 先通过core_get...找系统表core_object对象 在bootstrap::Stage::CREATED_TABLES阶段之前的所有查询都认为数据字典对象不存在 打开一个读取数据字典的事务,去读取持久化存储,如果找到则将元组中所含的数据字典信息恢复成内存

1.6K40

你真的了解MySQL 8.0 数据字典吗?

可是包含这些元数据数据字典不仅仅存在于数据系统表中(information_schema,mysql,sys),还存在于server层和InnoDB存储引擎中的部分文件里,比如每个表都有一个对应的....MySQL 8.0中,不再使用文件的方式来存储数据字典的信息,.frm、.trn,、.trg 和 .par文件都被彻底淘汰,所有的元数据都用InnoDB引擎来存储,这意味着MyISAM已经可以完全从MySQL...frm文件的IO开销; 优化器使用数据字典表上的索引来优化查询 MySQL8.0的数据字典实现和较老的版本的数据字典实现相比有了非常显著的变化,而本文将着重从源码角度对MySQL8.0 SQL层的数据字典实现进行分析与理解...Part1 “两级缓存+持久化”结构 整个MySQL 8.0的数据字典实现在数据字典对象分布上呈现这种三级存储的方式。...(MySQL数据字典持久化存储在InnoDB) 主要接口: 3.1 core_ge: 从m_core_registry(一个专门存放系统数据字典对象的map)中获取core_object(如dd_properties

1.1K50

Oracle 通过数据字典查询系统信息

简介:数据字典记录了数据系统的信息,他是只读表和视图的集合,数据字典的所有者是sys用户。注:用户只能在数据字典上执行查询操作,而维护和修改是由系统自己完成的。...1、数据字典的组成:数据字典包括数据字典基表和数据字典视图 数据字典基表:基表存储数据库的基本信息,普通用户不能直接访问数据字典的基表 数据字典视图:数据字典视图是基于数据字典基表所建立的视图,普通用户可以通过访问该视图...,来获取系统的信息 数据字典视图主要包括下面三种类型: user_XXX,all_XXX,dba_XXX三种类型 2、数据字典对象介绍 2.1、user_tables 用户显示当前用户所拥有的所有表,他返回当前用户对应的方案的所有的表...all_tables; 一共有100张左右 2.3、dba_tables 它会显示所有方案拥有的数据库表,但是查询这种数据字典视图,要求用户必须拥有dba或者是select any table的系统权限...scott所拥有的所有的对象权限和系统权限 2.8、 ?  2.9、查询当前数据库的全称 select * from global_name ? 当前数据库名为ORCL

99350

深入解析MySQL 8:事务数据字典的变革

一、事务数据字典的引入背景 在MySQL 8之前的版本中,元数据分散地存储在多个地方,包括元数据文件、非事务性表和特定于存储引擎的数据字典中。...二、事务数据字典的内容 在MySQL 8中,事务数据字典(Data Dictionary)是一个集中的元数据存储系统,它包含了关于数据库对象的各种信息。...这意味着对元数据的更改可以在事务的上下文中执行,确保更改的原子性、一致性、隔离性和持久性。这大大提高了数据库的稳定性和可靠性。 减少锁争用:事务数据字典的设计减少了系统表锁的争用。...崩溃恢复: 事务数据字典增强了MySQL的崩溃恢复能力。由于所有的元数据更改都记录在事务日志中,因此在系统重启后,MySQL可以检查事务日志并回滚任何未完成的更改,确保数据库的一致性。...兼容性: 尽管事务数据字典MySQL 8中的一个重大改变,但MySQL团队在引入这一特性时非常注重向后兼容性。

10810
领券