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

MySQL 8.0 数据字典

MySQL 8.0 对数据字典进行了重构,用户数据字典MySQL 其它系统的元数据都统一保存到 mysql 库的数据字典中了。...数据字典本身也大变样了: 数据字典不再位于 InnoDB 系统空间,而是迁移到 mysql 库中,mysql 库位于 mysql 空间,磁盘文件为 mysql.ibd。...打开数据字典 数据字典保存着 MySQL 运行过程中需要的一系列关键数据,使用频次很高,MySQL 启动过程中就会把数据字典的元数据都加载到内存中,这就是打开的过程。...MySQL 启动过程中,要先打开数据字典才能拿到数据字典的元数据,而要拿到数据字典的元数据,又必须先打开数据字典。...第 3 步,循环 m_registry 中的所有,通过第 2 步生成的数据字典数据,去 mysql 空间中(空间文件:mysql.ibd)读取各个数据字典的元数据

1.7K10

数据字典设计「建议收藏」

为什么字典?...所以通常把字典放在数据库,这样后期的维护变更就比较简单,也可以在不用修改代码的情况下修改配置。还有,对于某些固定的数据字典(例如,星期,月份等)不允许修改。...具体设计 通常分成两张来实现,一个是字典类型,一个是字典: 注意 字典类型应该是不可编辑的,因为字典类型通常会和具体代码实现紧密耦合,如果非要进行编辑的话需要考虑到对代码的影响以及如何保证修改之后系统正常工作...字典分可编辑与不可编辑,所以在提供字典管理的时候需要注意fixed字段,针对固定的字典不提供编辑功能 字典与系统参数不要混为一谈,字典通常用于一类的数据,一组具有相同含义的数值(例如,供客户端下拉选择的枚举...优化 数据字典数据应该存放在 redis 中,减少与数据库的交互次数,提高响应速度 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/127126.html原文链接:https

1.5K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    数据设计-简化字典

    在进行数据设计时,我们经常会遇到各种各样的业务需求,从而设计出各种各样的。...而想要做好一个数据库,不但需要前期对各种业务需求的深度理解,还需要在后期项目完善的过程中对数据库更新修改从而使得数据设计的越发完美。   ...有些人每一个业务或模块都设计一个字典用来标识类型或状态等等,这样的数量就不少了。其实我们可以将一些字典合并起来,用两个就能实现多个的功能。下面我以三个状态来演示。   ...我们可以把每个业务模块假设成一个大类,而业务模块用到的字典数据就假设成小类。按这个思路就能把多个字典完成合并了。   ...,在去Status中添加与它对应的字典数据就行了。

    2.6K30

    Oracle常用数据字典

    Oracle常用数据字典      查看当前用户的缺省空间   SQL>select username,default_tablespace from user_users;   查看当前用户的角色...  SQL>select * from user_role_privs;   查看当前用户的系统权限和级权限   SQL>select * from user_sys_privs;   SQL...>select * from user_tab_privs;   查看用户下所有的   SQL>select * from user_tables;      查看用户下所有的的列属性      ...default_tablespace from user_users;   查看当前用户的角色   SQL>select * from user_role_privs;   查看当前用户的系统权限和级权限...  查看用户下所有的   SQL>select * from user_tables;   查看名称包含log字符的   SQL>select object_name,object_id from

    68660

    MySQL设计

    存储大规模数据集需要仔细设计数据库模式和索引,以便能够高效地支持各种查询操作。...在面对数亿条数据,每条数据包含数百个字段的情况下,以下是我能想到的在设计数据库的时候需要注意的内容,不足之处欢迎批评指正:1....数据设计结构设计垂直分割:将大的分割成多个相关性较小的,以减少单个的字段数量。这有助于提高查询效率和降低冗余。规范化:合理使用规范化,将重复数据抽取成独立的,以减小数据冗余。...分库分如果数据量仍然巨大,可以考虑分库分策略,将数据划分到不同的数据库或中。4. 数据分区根据时间、范围等条件对数据进行分区,以提高查询效率。5....在设计时,充分了解数据的访问模式,根据查询的特点合理设计索引,通过适当的规范化和分区来优化存储结构,最终达到高效的查询和存储效果。我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

    17410

    MySQL数据设计规范

    一、数据设计 1、一般都使用 INNODB 存储引擎,除非读写比率<1%,才考虑使用 MYISAM 存储引擎;其 他存储引擎请在 DBA 的建议下使用。...3、UUID(),USER()这样的MySQL INSIDE 函数对于复制来说是很危险的,会导致主备数据不一致,所以请不要使用。如果一定要使用UUID作为主键,让应用程序来产生。...二、数据库对象设计规范 1、 设计 a)在设计时尽量包含两个日期字段:crt_time(创建日期),upd_time(修改日期)且 非空, 对表的记录进行更新的时候,必须包含对 upd_time字段的更新...c)需要多表join的字段,数据类型保持绝对一致。 d)Mysql尽量设置成 KV(Key-Value)结构,这样便于扩展和维护。...h)由于MYSQLDDL维护成本很高,所以在适当的时候,可以有一定的字段容余。 比如:Value1,Value2,Value3 这样的字段。

    2.8K30

    Mysql实例 设计

    二.设计表格 公司 公司名称 公司编号(自增主键) 电话号码 A 1001 xx B 1002 xx 广告 广告编号 有该广告的公司的编号(自增主键) 广告收费/点击一次 1 1001 2 2 1001...select 公司名称 from 公司; 结果为A,B公司投放了广告 查A公司都放了哪些广告 先到公司,将公司名称=A的编号提取出来,然后将公司编号作为条件去广告表里找广告编号。...between 100000 and 199999; 最后做个计算即可 四.分析 结构设置 目前有3张,基本满足业务需求,但未来查询更多,需要重新设计主键位置,结构。...当数据庞大,首当其冲的是点击,可能一天有几万次记录写入,这张将变得庞大,可以考虑将根据月份进行拆分。...其它功能 当前除了基本的查询,还可以进行数据分析。 可以通过点击,分析出当前这月哪个广告受欢迎,次数最多。这种可以去和公司商议,建议投放公司将这类广告放到更显眼位置,但费用增加。

    1.3K20

    业务中的字典MySQL实现方案

    为什么需要字典? 某些变量在多个地方使用,而且一般固定,但随系统升级和后期变化,可能需要改变,如果这些变量写死在代码里面将会变得难以维护,所以要将其从代码中抽离。...所以通常把字典放在数据库,维护变更就简单了,达到在不修改代码情况下也能修改配置。对于某些固定的数据字典(例如,星期,月份等)还就不允许修改。...设计字典 通常分成两张来实现,一个是字典类型,一个是字典 字典类型: SYS_DICT_TYPE 字段名 类型 作用 备注 code varchar 编码 主键 name varchar 类型 展示用...字典 : SYS_DICT ?...使用值 fixed int 是否是固定的 default 0不固定,固定的话用1 以上是字典的关键列和结构设计,根据不同系统不同业务自定其他列。

    3.8K22

    mysql设计规范

    优先考虑逻辑删除,而不是物理删除物理删除数据恢复困难物理删除会使主键不再连续核心业务数据不建议做物理删除每个都需要的通用字段不一样的通用字段的英文不一样叫法,但是都是规范中建议的id...非必须creator 创建人 非必须一张的字段不要过多字段不要超过20个,的字段过多,中保存的数据可能会很大,查询的效率会降低。...尽可能使用 not null定义字段将字段设置成空字符串或者常量值not null防止出现空指针的问题null值存储也需要额外的空间,导致比较运算更为复杂,是优化器难以优化sqlnull值可能会导致索引失效设计索引有查询条件的字段...,一般要加索引单的索引不超过5个区分度不高的字段,不添加索引(性别)避免索引失效的情况(mysql的内置函数)索引过多,选用联合索引优化不使用外键关联使用外键存在性能问题、并发死锁问题、使用起来不方便等...每次delete、update都必须考虑外键约束分库分不能使用不建议使用存储过程、触发器存储过程:已预编译为一个可执行过程的一个或多个sql语句触发器:一段代码,当触发某个事件时,自动执行这些代码可以用数据库中相关联的实现级联修改实现监控某张中的某个字段的改变而需要做出相应的处理生成某些业务的编号滥用造成数据库和应用程序的维护困难

    23830

    MySQL的物理设计

    设计结构之后, 就需要进行物理设计, 将实体及属性映射到具体表和列. 而合理选择存储引擎和列类型也是数据设计十分重要的一个环节....物理设计包括, 命名规范, 存储引擎, 列字段选择, 主键设计以及主键生成算法. 一. 命名规范 首先在定义数据库,,字段时一定要公司的命名规范; 二...., 那最好是decimal类型 列类型 存储空间 是否精确类型 float 4字节 否 double 8字节 否 decimal 每4字节存9个数字,小数点占1个字节 是 3.3 字符串类型 MySQL...主键选择 应选择尽可能小且顺序增长的数字类型, 并且主键可以与业务主键不同....原因是的主键上, 会自动建立主键索引(B+树), 如果是自增的数字类型, 只需要在索引尾部添加数据即可, 性能开销很小; 当主键采用字符串类型时, 占用的空间会远大于数字类型.

    1.2K10

    MySQL - 高效的设计MySQL

    数据变更速度快 【缺点】 按照范式的规范设计,等级越高的范式设计出来的数量越多。...使用原则和设计规范 聊完范式,接下来我们看看 MySQL 使用中的一些使用原则和设计规范。...必须要用时,尽量与主业务分离,减少对这类字段的检索和更新 ---- 基本设置规则 必须指定默认存储引擎为 InnoDB,并且禁用 MyISAM 存储引擎,随着 MySQL 8.0 版本的发布,所有的数据字典都已经转换成了...这些功能非常不完整,调试、排错、监控都非常困难,相关数据字典也不完善,存在潜在的风险。一般在生产数据库中,禁止使用。 lob、text、enum、set。...这些字段类型,在 MySQL 数据库的检索性能不高,很难使用索引进行优化。如果必须使用这些功能,一般采取特殊的结构设计,或者与程序结合使用其他的字段类型替代。

    3.3K12

    Mysql实例 数据库优化--数据设计

    二.数据设计 项目立项后,开发部门根据产品部门需求开发项目。开发工程师在开发项目初期会对表结构设计。对于数据库来说,结构设计很重要,如果设计不当,会直接影响到用户访问网站速度,用户体验不好!...6.保证每张都有一个主键ID 每设计新建一张的时候,都应该为其设计一个ID字段,并让其成为主键,而且最好是INT型(也有使用UUID的),同时设置这个ID字段为自增(AUTO_INCREMENT)的标志...15.避免发生隐式类型转换 类型转换主要是指在WHERE子句中出现字段的类型和传入的参数类型不一致的时候发生的类型转换;这是因为如果传入的数据类型和字段类型不一致,MySQL可能会对数据进行类型转换操作...16.避免多表查询字段类型不一致 在遇到需要多表联合查询的时候,设计结构的时候,尽量保持的关联字段一致,并且都要设置索引。同时,多表连接查询时,尽量把结果集小的作为驱动。...17.建议开启查询缓存 大多数的MySQL服务器都开启了查询缓存,这是提高性能最有效的方法之一,因为查询缓存由MySQL数据库引擎自动处理,当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中

    2.4K10

    Redis的设计与实现-链表字典跳跃

    redis的设计与实现: 1.假如有一个用户关系模块,要实现一个共同关注功能,计算出两个用户关注了哪些相同的用户,本质上是计算两个用户关注集合的交集,如果使用关系数据库,需要 对两个数据执行join操作...tail,长度计数len,特定类型的函数等 5.链表表头前置和尾后置都是指向null,所以是无环链表,设置不同类型特定函数,可以用于保存不同类型的值 字典 1.字典,又称为符号/关联数组/映射,保存键值对的抽象数据结构...;一个键和一个值进行关联,或者叫键映射为值 2.redis的数据库就是使用字典作为底层,对数据库的增删查改操作也是构建在对字典的操作之上;字典还是哈希键的底层实现 3.redis的字典使用哈希作为底层实现...,一个哈希表里面可以有多个哈希节点,每个哈希节点保存了字典中的一个键值对 4.redis字典所使用的哈希由dict.h/dictht结构,table属性是一个数组,每个元素都是指向dict.h/dictEntry...,为了让哈希的负载因子维持在一个合理的范围内,程序对大小进行扩展或者收缩 redis的设计与实现-跳跃 1.跳跃(skiplist)是一种有序数据结构,通过在每个节点中维持多个指向其他节点的指针

    1.4K30
    领券