mycat的知识体系一

三范式与MySQL索引结构

一、MySQL的基本引入

三范式设计

1、早期数据库使用,需要节省空间,通过对表结构设计进行节省空间操作,需要利用三范式设计

三范式可以最大程度节省空间(浪费时间)

第一范式:数据库字段不可拆分

userPhone违反了第一范式,因为电话号码可以分为座机和手机两个字段

第二范式:满足第一范式前提,所有非主键字段,必须依赖全部的注解(复合主键)

上图违反了三范式的第二范式,classname和stuId无关,可以拆分成两个表

第三范式:第二范式前提下,非主键字段必须全部依赖主键字段,不能依赖其他非主键字段

上图违反了第三范式设计,因为学院name依赖的是学院Id,依赖的不是主键

需要进行拆分

 

一旦严格按照三范式设计,每个表维护全局唯一的一批内容,节省了空间

二、由MySQL引出的数据结构

mysql的索引数据结构B+Tree

二叉树

问题:如果跟节点每选好,有可能数据向一边倾斜,链式查询

平衡二叉树

叶子节点的高度偏差不能超过1

如果高度差超过1,可以通过左旋、右旋达到平衡

问题一:效率低,数据量很大时,树变得很高,磁盘io次数很多

问题二:查询不稳定,有可能一次,也有可能很多次

问题三:节点数据太少,没哟充分利用磁盘io(默认一次io传输4k数据)

B-Tree

每个节点可以保存多个关键字,每次io默认16k

相比二叉树:

树高大大减小,充分利用磁盘(每个节点放满16k)

B+Tree

与B-Tree类似

B+Tree特点:

特点1:半闭合的区间

特点2:根与支节点只保存关键字和子节点引用,不保存具体数据的位置信息

特点3:叶子节点的每个元素都有下个元素的引用,所有子节点形成链表

与B-Tree比较

优势一:全表扫描快,只需扫描叶子即可,叶子有数据的引用

优势二:排序功能强,因为叶子天然排序

优势三:一次io获取的关键字更多(由于根和支节点只保存关键字),一次读的更多,树高小

优势四:查询效率更稳定(看似b-Tree效率高,但是由于树高小,磁盘io少)

 

【电动汽车充电站有序充电调度的分散式优化】基于蒙特卡诺和拉格朗日的电动汽车优化调度(分时电价调度)(Matlab代码实现)内容概要:本文介绍了基于蒙特卡洛和拉格朗日方法的电动汽车充电站有序充电调度优化方案,重点在于采用分散式优化策略应对分时电价机制下的充电需求管理。通过构建数学模型,结合不确定性因素如用户充电行为和电网负荷波动,利用蒙特卡洛模拟生成大量场景,并运用拉格朗日松弛法对复杂问题进行分解求解,从而实现全局最优或近似最优的充电调度计划。该方法有效降低了电网峰值负荷压力,提升了充电站运营效率与经济效益,同时兼顾用户充电便利性。 适合人群:具备定电力系统、优化算法和Matlab编程基础的高校研究生、科研人员及从事智能电网、电动汽车相关领域的工程技术人员。 使用场景及目标:①应用于电动汽车充电站的日常运营管理,优化充电负荷分布;②服务于城市智能交通系统规划,提升电网与交通系统的协同水平;③作为学术研究案例,用于验证分散式优化算法在复杂能源系统中的有效性。 阅读建议:建议读者结合Matlab代码实现部分,深入理解蒙特卡洛模拟与拉格朗日松弛法的具体实施步骤,重点关注场景生成、约束处理与迭代收敛过程,以便在实际项目中灵活应用与改进。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值