数据库范式实例:如何消除冗余和高效存取?

数据库设计原则与方法 良好的数据库设计是确保数据存储和检索效率的重要基础。通过遵循设计原则和使用有效的设计方法,数据库管理员可以创建出既能满足当前业务需求又能适应未来发展的数据库结构。编程智域 前端至全栈交流与成长数据库设计原则与方法 | cmdragon’s Blog。 阅读详情

1
在超市项目的设计阶段,超市经营者把他们正在用的 Excel 表格给到我们,要求我们把这些数据存储到超市管理系统的数据库中。我挑选了 1 个有代表性的表来举例说明。

进货单表(import):
2
这个表中的字段很多,包含了各种信息,表里的数据量也很惊人。我们刚拿到这个表的时 候,光是打开表这个操作,就需要等十几秒。

仔细一看,发现表里重复的数据非常多:比如第一行和第二行的数据,同样是 3478 号单据,供货商编号、供货商名称和仓库,这 3 个字段的信息完全相同。可是这 2 条数据的后半部分又不相同,因此,并不能认为它们是冗余数据而删除。

其实,造成这种问题的原因是这张表的设计非常不合理,大量重复导致表变得庞大,效率极低。

在我们的工作场景中,这种由于数据表结构设计不合理,而导致的数据重复的现象并不少见,往往是系统虽然能够运行,承载能力却很差,稍微有点流量,就会出现内存不足、 CUP 使用率飙升的情况,甚至会导致整个项目失败。

所以,通过高效可靠的范式设计来提升数据库工作效率十分有必要。

接下来,我们要重新设计一下刚刚的进货单表,对于数据表设计的三大范式的原理,可以参考《数据库原理——关系模式的范式的简明判断》。

此次实例涉及到的范式分别是第一范式(1NF)、第二范式(2NF)和第三范式(3NF),这些范式可以帮助我们设计出简洁高效的数据表,进而提高系统的效率。

我先来介绍一下最基本的第一范式。

第一范式

我们对这张进货单表重新设计的第一步,就是要把所有的列,也就是字段,都确认一遍,确保每个字段只包含一种数据。如果各种数据都混合在一起,就无法通过后面的拆解,把重复的数据去掉。

其实,这就是第一范式所要求的:所有的字段都是基本数据字段,不可进一步拆分。

在我们的这张表里,property 这一字段可以继续拆分。其他字段已经都是基本数据字 段,不能再拆了。

经过优化,我们把 property 这一字段,拆分成 specification(规格) 和 unit(单位),这 2 个字段如下:
3
这样处理之后,字段多了一个,但是每一个字段都成了不可拆分的最小信息单元,我们就可以在这个表的基础之上,着手进行进一步的优化了。这就要用到数据表设计的第二范式了。

第二范式

通过观察,我们可以发现,这个表的前 2 条记录的前 4 个字段完全一样。我们可以通过拆分,把它们变成一条记录。

第二范式要求,在满足第一范式的基础上,还要满足数据表里的每一条数据记录,都是可唯一标识的。而且所有字段,都必须完全依赖主键,不能只依赖主键的一部分。

根据这个要求,我们可以对表进行重新设计。

重新设计的第一步,就是要确定这个表的主键。通过观察发现,字段 listnumber + barcode 可以唯一标识每一条记录,可以作为主键。确定好了主键以后,我们判断一下,哪些字段完全依赖主键,哪些字段只依赖于主键的一部分。同时,把只依赖于主键一部分的字段拆分出去,形成新的数据表。

首先,进货单明细表里面的 goodsname、specification、unit 这些信息是商品的属性,只依赖于 barcode,不完全依赖主键,可以拆分出去。我们把这3个字段加上 它们所依赖的字段 barcode,拆分形成一个新的数据表 商品信息表。

这样一来,原来的数据表就被拆分成了两个表

商品信息表:
4
进货单表:
5
同样道理,字段 supplierid、suppliername、stock 只依赖于 listnumber,不完全依赖于主键,所以,我们可以把 supplierid、suppliername、stock 这 3 个字段拆出去,再加上它们依赖的字段 listnumber,就形成了一个新的表 进货单头表。剩下的字段,会组成新的表,我们叫它 进货单明细表。

这样一来,原来的数据表就拆分成了了个表。

进货单头表:
6
进货单明细表:
7
商品信息表:
8
到这里,我们就按照第二范式的要求,把原先的一个数据表拆分成了 3 个数据表。

现在,我们再来分析一下拆分后的 3 个表,保证这 3 个表都满足第二范式的要求。

在 商品信息表 中,字段 barcode 是有可能存在重复的,比如,用户门店可能有散装称重商品和自产商品,会存在条码共用的情况。所以,所有的字段都不能唯一标识表里的记录。这个时候,我们必须给这个表加上一个主键,比如说是自增字段 itemnumber。

现在,我们就可以把进货单明细表里面的字段 barcode 都替换成字段
itemnumber,这就得到了新的 进货单明细表 和 商品信息表。

进货单明细表:
9
商品信息表:
10
这样一来,我们拆分后的 3 个数据表中的数据都不存在重复,可以唯一标识。而且,表中的其他字段,都完全依赖于表的主键,不存在部分依赖的情况。所以,拆分后的 3 个数据表就全部满足了第二范式的要求。

第三范式

如果你仔细看的话,会发现,我们的进货单头表还有数据冗余的可能。因为 suppliername 依赖 supplierid。这个时候,就可以按照第三范式的原则进行拆分了。

第三范式要求数据表在满足第二范式的基础上,不能包含那些可以由非主键字段派生出来的字段,或者说,不能存在依赖于非主键字段的字段。

在刚刚的进货单头表中,字段 suppliername 依赖于非主键字段 supplierid。因此,这个表不满足第三范式的要求。

所以,我们要进一步拆分下 进货单头表,把它拆解成 供货商表 和 进货单头表。

供货商表:
11
进货单头表:
12
这样一来,供货商表和进货单头表中的所有字段,都完全依赖于主键,不存在任何一个字段依赖于非主键字段的情况了。所以,这 2 个表就都满足第三范式的要求了。

但是,在进货单明细表中,importprice、quantity 和 importvalue 这 3 个字段,可以通过乘除法 quantity × importprice = importvalue 相互计算出来,这就存在冗余字段。如果严格按照第三范式的要求,现在我们应该进行进一步优化。优化的办法是删除其中一个字段,只保留另外 2 个,这样就没有冗余数据了。

但是,在这么做之前,我们要先了解下实际工作中的业务优先原则。

业务优先的原则

所谓的业务优先原则,就是指一切以业务需求为主,技术服务于业务。完全按照理论的设计不一定就是最优,还要根据实际情况来决定。这里我们就来分析一下不同选择的利与弊。

对于 quantity × importprice = importvalue,看起来 importvalue 似乎是冗余字段,但并不会导致数据不一致。可是,如果我们把这个字段取消是会影响业务的。

因为有的时候,供货商会经常进行一些促销活动,按金额促销,那他们拿来的进货单只有金额,没有价格。而 importprice 反而是通过 importvalue / quantity 计算出来 的。因此,如果不保留“importvalue”字段,只有 importprice 和 quantity 的话,经过四舍五入,会产生较大的误差。这样日积月累,最终会导致查询结果出现较大偏差,影响系统的可靠性。

假设进货金额是 25.5 元,数量是 35,那么进货价格就等于 25.5 / 35 = 0.73 元,但是如果用这个计算出来的进货价格来计算进货金额,那么,进货金额就等于 0.73 × 35 = 25.55 元, 其中相差了 25.55 - 25.5 = 0.05 元。代码如下所示:

所以,在我们这个场景下,importvalue 是必须要保留的。

那么,换一种思路,如果我们保留 quantity 和 importvalue,取消 importprice,这样不是既能节省存储空间,又不会影响精确度吗?

其实不是的。importprice 是系统的核心指标,涉及成本核算。几乎所有的财务、营运和决策支持模块,都要涉及到成本问题,如果取消 importprice 这个字段,那么系统的运算成本、开发和运维成本,都会大大提高,得不偿失。

所以,本着业务优先的原则,在不影响系统可靠性的前提下,可以容忍一定程度的数据冗余,保留 importvalue、importprice 和 quantity。

因此,最后的结果是,我们可以把 进货单表 拆分成下面的 4 个表:

供货商表:
13
进货单表:
14
进货单明细表:
15
商品信息表:
16
这样一来,我们就避免了冗余数据,而且还能够满足业务的需求,这样的数据表设计,才是合格的设计。

总结

通过具体案例的分析,学习了 MySQL 数据库设计的范式规范,包括第一范式、第二范式和第三范式。

汇总下 MySQL 数据库规范化设计的三个范式。

  • 第一范式:数据表中所有字段都是不可拆分的基本数据项。
  • 第二范式:在满足第一范式的基础上,数据表中所有非主键字段,必须完全依赖全部主 键字段,不能存在部分依赖主键字段的字段。
  • 第三范式:在满足第二范式的基础上,数据表中不能存在可以被其他非主键字段派生出 来的字段,或者说,不能存在依赖于非主键字段的字段。

遵循范式的要求,可以减少冗余,结合外键约束,可以防止添加、删除、修改数据时产生数据的不一致问题

除此之外,我还给你解释了为什么有的时候不能简单按照规范要求设计数据表,因为有的数据看似冗余,其实对业务来说十分重要。这个时候,我们就要遵循业务优先的原则,首先满足业务需求,在这个前提下,再尽量减少冗余。

一般来说,MySQL 的数据库设计满足第三范式,就足够了。不过,第三范式,并不是终极范式,还有 BCNF 范式(也叫 BC 范式)、第四范式 和 第五范式。。。

php对接建行h5网页支付 php对接建行h5网页支付前言H5页面支付H5页面支付回调通知退款及其他的业务 前言 最近接到公司乙方要求,需要再支付上面增加建行的支付渠道。之前一直用的都是微信和支付宝这种第三方支付平台,银行直接对接比较少。没办法就只能上网搜索,搜索一番返现网上对接建行的资料比较少,没办法只好摸着石头过河,中间也借鉴了一些大佬的文章内容。 H5页面支付 根据建行的h5网页支付对接文档,还是可以看出是比较简单的。... 阅读详情

相关推荐

山景BP10_128DBG开发板ADC_Key驱动

最近在学习山景BP10_128DBG开发板,想使用开发板上的按键。看了看原理图和之前用过的按键好像有点不一样。常见的按键都是判断IO口是否被拉低或拉高来判断按键是否被按下。山景BP10_128DBG开发板上的按键是ADC按键,每个按键按下之后ADC的采样值是不同的,通过ADC采样回来的值进而判断哪个按键按下。这种方式核心思想就是用一个ADC通道来节约IO口,对于IO紧张的芯片是一个不错的解决思路。

weixin_56646002的博客 1308

浅谈数据库设计冗余和效率的取舍

下午开会谈到公司的数据库里面几个基础的表。其中谈到数据库设计的冗余和效率的取舍。 多表关联的时候很容易出现数据的冗余。比如在在食材分类表中有涉及到食材的三级分类信息——三个字段。在商品表中也有食材的三级分类的信息——三个字段。 正常情况下,只需要用商品表中有食材的id关联食材分类表中的id就可以实现多表联机查询,这样是不存在冗余的。 但是,这样的设计会牺牲效率。 在数据量比较大和需求比较强

hyh22222的博客 1254

从命令到对话:LLM如何重塑车载语音交互与软件定义汽车体验

自动语音识别和自然语言处理是智能交互的核心基础技术,它们使机器能够理解和响应人类语音指令。其原理在于通过声学模型和语言模型将声音信号转化为文本,再解析文本背后的用户意图。这项技术的价值在于提供了一种自然、高效且能解放双手的人机交互方式,极大地提升了在特定场景(如驾驶)下的安全性与便利性。随着技术演进,其应用场景已从简单的命令控制扩展到复杂的多轮对话和跨域任务执行。当前,软件定义汽车的架构变革为车载语音提供了统一的控制平台,而大型语言模型的引入则带来了范式革命,使其从功能触发器进化为真正的智能任务执行者。本文

weixin_42669344的博客 563

数据冗余

冗余,指重复配置系统的一些部件,当系统发生故障时,冗余配置的部件介入并承担故障部件的工作,由此减少系统的故障时间。数据冗余,指数据之间的重复,也可以说是同一数据存储在不同数据文件中的现象, 数据冗余例子:(1)表里字段有姓名,姓,名,年龄,出生日期字段,我们可以根据出生日期算出年龄,或者根据姓和名就知道一个人的名字,这就造成了资源浪费; (2)表里有用户ID,1月消费额,2月消费额,3月消费额...

Ethan_bao的博客 3216

海康威视HiTools实战:5分钟搞定工业镜头选型(附避坑指南)

本文详细解析了海康威视HiTools在工业镜头选型中的应用,通过五步操作流程帮助用户快速匹配适合的镜头型号。文章深入探讨了工业视觉系统的核心参数,包括焦距、视野、景深和畸变控制,并提供了光源搭配和系统集成的实战指南,助力提升机器视觉检测精度与效率。

u0v1w2x3的博客 1056

CMIP6数据处理及在气候变化、水文、生态等领域中的应用

CMIP6、Biome-BGC、生态、气候变化、气象、水文、气候模式、植被、生态模式、遥感、极端气候、降水、WRF模式、动力降尺度、RCM、大气环流模型、贝叶斯模型、、降尺度

PhyliciaFelicia的博客 1540

数据库设计之字段冗余

从上面的例子,我们能很直观的看出来,字段冗余有一个明显的缺点,就是【订单表】和【商品表】都存了【商品名称】,多占用了一份数据库空间,并且有多表同时更新的问题。当我们在后台修改商品名称时,要考虑订单表里的商品名称是否要一起修改。数据库字段冗余是很常见的数据库设计方案,基本上我接触过的项目都不可避免的用到字段冗余设计,已经工作的小伙伴们也可以在自己的项目里找找是否有字段冗余的设计。正常我们如果按三大范式来设计表,应该是下面这样,包含【订单表】和【商品表】,在【订单表】中用【商品ID】来关联【商品表】

关注我!带你一路 "狂飙" 到底! 1331

ESP32-S3驱动OV3660摄像头原理图设计,已量产

本文重点拆四条主线:多来源输入电源如何收敛到 3V3,摄像头三路供电如何拆分,ESP32-S3 如何接住 DVP 数据流与外部存储,以及音频/补光/传感外围怎样挂到主控边上。至于最终图像帧率、算法策略和软件时序,当前原理图未体现。

不脱发的程序猿 979

冗余数据与多表查询的选择

数据冗余与多表查询的选择 最近在家闲得无聊,和一个前端小伙伴联手在开发一个博客网站,遇到了一个mysql上的性能优化问题,在数据处理上,联表查询以及数据冗余操作,应该如何取舍,这个就涉及到了数据库的范式以及反范式 问题描述 获取博客文章评论的时候,需要同时获取评论者的昵称以及头像图片链接,那么这个时候是启用多表查询呢,还是采用数据冗余呢,可能会有人想都不想直接联表查询吧,也可能会有人说数据冗...

c_c_y_CC的博客 3080

手把手实现3D肺结节检测:基于Faster R-CNN的从CT处理、训练到部署的五步代码级实战与避坑指南

亲爱的同学,当你能完整实现“3D Faster R-CNN肺部结节检测系统”,你会发现医学影像AI的毕设课题充满挑战与成就感。我们围绕3D Faster R-CNN模型,从数据处理、模型搭建到实验验证,一步步带你打造一个能精准检测肺部结节的智能系统,让你的毕设既体现技术深度,又能为肺部疾病早期诊断贡献实用价值。是专为3D医学影像设计的目标检测模型,能在三维CT数据中自动定位、识别肺部结节——这一课题兼具“临床价值”和“技术挑战性”,是毕设的优质选择,能充分展现你的工程能力和科研敏感度。

LXY_LOVE36的博客 306

行测测评——矩阵、圆形、环形三角图形数列推理解题技巧

写在前面:各大公司的测评做的让人眼花缭乱,很多题型都是第一次见,比如逻辑关系、信息推理,最难的要属找规律的数字推理了。根据B站UP主刘文超老师的课程,记录一下解题技巧。感谢UP主的无私奉献,原地址连接:https://www.bilibili.com/video/BV1it411M7o2?t=528&p=7 解题技巧: 从图形的上下、左右、交叉 角度进行尝试求解 基本法则是“加、减、乘、除、倍数、次方”六种形态。 一、有心数阵 解题技巧:周边数字通过某种运算得到中间数字 1.周边数..

涵盖了计算机专业基础知识、数学建模相关实践、复杂网络论文研究、LeetCode算法刷题经验、C语言开发经验、前端Vue、React框架开发实战相关知识 8641

数据库冗余字段解决思路

保证业务情况下前期收集整理数据统计痛点开发自查冗余字段上报中期确认不再维护字段并且整理对应代码平滑剔除字段后期删除字段与培训平滑剔除三个月后对字段进行删除维护共有的表结构介绍wiki 前期收集整理 数据统计痛点 数据组作报表数据对冗余字段不知取那里为准的疑问,会对报表结果产生准确性影响 开发自查冗余字段上报 开发整理每个模块,核心表和小场景的冗余字段,优先梳理核心表 原则上除了关联关系,同一个字段...

guoyanga1的博客 2615

使用MCAL的Fee模块集成ETAS存储协议栈

由于ETAS Fee模块导致初始化时间较长,且集成占用的内存较大,所以最终考虑使用MCAL中的Fee模块来集成ETAS的Nvm模块,本文介绍具体的集成方法注意:本文所涉及的集成前提是原有的ETAS协议栈已正常使用使用IFX Fee需要手动配置Fee,可能有出错的风险,最好是利用脚本自动生成代码来实现。另外,需要注意IFX的Fee中block数据没有CRC校验,如果使用该Fee,建议Nvm中加CRC校验(ETAS Fee中block自带CRC,可以不需要Nvm Crc),防止数据被意外篡改导致的异常。

赞的博客 404

数据库四大范式

一、 概念 在创建一个数据库的过程中,必须依照一定的准则,这些准则被称为范式,从第一到第六共六个范式。 二、 背景 数据库的规范化(上一篇博客有写到)的程度不同,便有了这么多种范式。数据库范式是数据库设计必不可少的知识,没有对范式的理解,就无法设计出高效率、优雅的数据库,甚至设计出错误误的数据库。 三、 目标 一般数据库设计只要遵循第一范式,第二范式,和第三范式就足够了,满足这些规范的数...

X18856323059的博客 314

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

数据库范式详解:从第一范式到第四范式,告别数据冗余与异常

数据库设计是构建稳定、高效应用系统的基石,其核心目标在于保障数据的一致性与完整性,并优化查询性能。为实现这一目标,数据库范式理论提供了一套严谨的规则体系,它通过规范化的表结构设计,从根本上消除数据冗余和各类操作异常。其原理在于将数据分解为结构清晰、依赖明确的多个实体,通过主键与外键建立关联。遵循范式的技术价值在于提升数据质量、简化维护复杂度,并为复杂的关联查询奠定良好基础,是应对多表关联、数据一致性挑战的工程实践准则。在实际应用中,从确保数据原子性的第一范式,到处理多值依赖的第四范式,每一级范式都针对特定的

weixin_32932149的博客 338

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

数据库的范式

在设计与操作维护数据库时,最关键的问题就是要确保数据能够正确地分布到数据库的表中。使用正确的数据结构,不仅有助于对数据库进行相应的存取操作,还可以极大地简化应用程序中的其他内容(查询、窗体、报表、代码等),按照“数据库规范化”对表进行设计,其目的就是减少数据库中的数据冗余,以增加数据的一致性。 泛化时在识别数据库中的一个数据元素、关系以及定义所需的表和各表中的项目这些初始工作之后的一个细化的过程...

u014044032的博客 309

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

数据仓库学习(一)——数据仓库、商业智能及维度建模的初步

1.DW 数据仓库(Data Warehouse 简称DW)是一个面向主题的(SubjectOriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(TimeVariant)的数据集合,用于支持管理决策。 数据仓库是实现商务智能的基础平台。 2.BI 商业智能(Business Intelligence),是指通过对数据的收集、管...

xufan601391682的博客 2200

《数据库系统原理与设计》万常选著知识点整理

数据库系统原理与设计 1.1数据库系统 数据管理技术经历了人工管理、文件系统和数据库管理系统3个阶段。 1.人工管理的数据是面向应用程序的。 2.文件系统阶段已经有了操作系统,有专门的软件对数据进行统一管理。 3.数据库管理阶段有数据库管理系统(DBMS),数据库管理系统是由一个相互关联的数据的集合(称为数据库)和一组用以访问、管理和控制这些数据的程序组成。DBMS是位于用户与操作系统之间的一层数...

wangxinru123456的博客 4133

数据仓库基础知识

一、数据仓库是什么 引用百度百科:数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。 个人理解:存取公司历史数据,并按照一定规则清洗、加工为稳...

huobumingbai1234的博客 1892

几个问题(九)--------数据库设计原则、范式

beidou321的专栏 1085

数据仓库模型设计V2.0

数据仓库模型设计V2.0

ytp552200ytp的博客 1289

mysql-设计表时遵循的范式总结

MySQL 基础知识 Mysql设计成C/S客户端服务器模型,应用作为MySQL Client 向 MySQL Server发送请求,获取响应,因此MySQL适用于集群环境,方便做主从复制,读写分离操作。 为了提高效率,MySQL Client 和MySQL Server如何在不同主机上,当然是通过Socket进行网络通信的;如果在一台机器上,那么Client和Server之间是通过共享内存进...

GoingJack博客 545

减少数据冗余提升信息管理效率的策略与实践

本文探讨了减少数据冗余的重要性及其对信息管理效率的提升。通过分析数据冗余的成因,提出了一系列实用策略,如优化数据存储结构、加强数据标准化、实施数据清理机制等,以实现高效的信息资源管理和利用,最终推动组织的整体运作效率和决策质量。

tiangang2024的博客 1969

规范化-数据库设计原则

序言 本文的目的就是通过详细的实例来阐述规范化的数据库设计原则。在DB2中,简洁、结构明晰的表结构对数据库的设计是相当重要的。规范化的表结构设计,在以后的数据维护中,不会发生插入(insert)、删除(delete)和更新(update)时的异常。反之,数据库表结构设计不合理,不仅会给数据库的使用和维护带来各种各样的问题,而且可能存储了大量不需要的冗余信息,浪费系统资源。 要设计规范化的数据库

EasyLife 695

智安网络|数据库设计与规范:构建高效可靠的数据存储系统

通过遵循数据库设计的基本原则、规范以及灵活运用设计模式,可以提高数据的存储效率和查询性能,保证数据的一致性和完整性。在实际的数据库设计过程中,我们应根据具体的业务需求和系统特点,结合实际情况进行合理的设计和优化,以构建适应业务发展的数据库系统。一个合理的数据库设计可以提高数据的存储效率、保证数据的一致性和完整性,提供高效的数据查询和处理能力。数据库文档:对于复杂的数据库系统,应编写详细的数据库文档,包括数据库结构、数据字典、表关系图等,以便于后续的数据库维护和升级。但同时也增加了数据的冗余和更新的复杂性。

zhianwangluo的博客 315

如何减少YashanDB数据库中的数据冗余

通过遵循数据规范化原则,结合YashanDB丰富的存储架构和约束机制,有效利用多版本控制和事务隔离手段,优化索引和分区策略,合理调整逻辑存储结构,以及科学实施主备复制和安全管理,可以有效控制和降低冗余数据的产生和存储。不同的存储结构在数据访问性能和存储效率上表现不同。在YashanDB中,利用完善的完整性约束机制和访问约束,可在数据入库阶段限制冗余产生,保证数据逻辑上的唯一性和一致性。分区策略:对大表采用合适的分区策略(范围、哈希、列表、间隔),实现数据分割与孤立,减少跨分区数据冗余和扫描代价。

2501_91591875的博客 521
上一篇: 这六个 MySQL 死锁案例,能让你理解死锁的原因!
下一篇: AdaBatch 数值实验复现
Skr.B
博客等级 码龄8年 1103粉丝 81原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Skr.B

WUHOOO~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值