(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210835941.1
(22)申请日 2022.07.15
(71)申请人 多点生活 (成都) 科技有限公司
地址 610000 四川省成 都市高新区天府大
道中段666号2栋8楼801号
(72)发明人 朱雪刚
(74)专利代理 机构 成都三诚知识产权代理事务
所(普通合伙) 51251
专利代理师 詹丽红
(51)Int.Cl.
G06F 16/23(2019.01)
G06F 16/22(2019.01)
(54)发明名称
基于标注字段单独更新无效的减少数据库
更新量的方法
(57)摘要
本发明公开了一种基于标注字段单独更新
无效的减少数据库更新量的方法, 其特征在于,
包括以下步骤: 步骤S1: 通过数据库管理软件, 新
建或修改数据库表, 并将新建或修改的数据库表
设置为变量T, 得到数据库表T等步骤。 本发明通
过在建表时提前给数据库字段标注上 “单独更新
无效”的属性, 可有效的判断出提交给数据库的
更新语句是否有效, 使无效更新语句不被数据库
执行, 减小了binlog的数据量, 减小主从数据库
之间的binlog复制的网络流量, 有效的减少数据
库的更新量以及数据库执行压力, 提高了IT系统
服务能力, 从而本发明很好的解决了需要IT系统
数据库存在更新 量大的问题。
权利要求书1页 说明书3页
CN 115168382 A
2022.10.11
CN 115168382 A
1.基于标注字段单独更新无效的减少数据库更新量的方法, 其特征在于, 包括以下步
骤:
步骤S1: 通过数据库管理软件, 新建或修改数据库表, 并将新建或修改的数据库表设置
为变量T, 得到数据库表T;
步骤S2: 为数据库表T的每个字段新增一个 “单独更新无效 ”字段约束选项, 为数据库表
T的每个字段配置一个 “单独更新无效 ”属性, 并建立字段与 “单独更新无效 ”属性的对应关
系;
步骤S3: 对字段与 “单独更新无效 ”的属性之间的对应关系进行存 储;
步骤S4: 提取存储中的字段的标志为 “单独更新无效 ”的属性Fy=0的字段, 并将提取的
字段设定为字段集 合M;
步骤S5: 数据库执 行数据库表T的更新语句时, 提取 该更新语句的字段的新 值和原值;
步骤S6: 遍历并比较该更新语句中字段的新值和原值, 遍历完成后查看更新语句的字
段的新值和原值是否有存在差异, 是, 生成字段集合Y, 将更新语句的字段加入字段集合Y
中, 并执行步骤S7; 遍历完成后,所有字段的新值和旧值都不存在差异, 数据库则不执行该
条语句并丢弃, 不产生bi nlog;
步骤S7: 判定字段集合Y是否为字段集合M的子集, 是, 数据库则不执行该条语句并丢
弃, 不产生bi nlog; 否, 数据库则执 行该条语句, 产生bi nlog。
2.根据权利要求1所述的基于标注字段单独更新无效的减少数据库更新量的方法, 其
特征在于, 所述步骤S2中, “单独更新无效 ”字段约束选项用于记录字段与表示该字段是否
勾选上“单独更新无效 ”的对应关系, “单独更新无效 ”的属性设置为Fy, Fy的默认值为1; 其
中, Fy=0时,表示勾选 了“单独更新无效 ”, Fy=1时,表示未勾选 “单独更新无效 ”。
3.根据权利要求2所述的基于标注字段单独更新无效的减少数据库更新量的方法, 其
特征在于, 所述步骤S2中, 字段为: F1,F2, ……Fn,“n”表示字段个数为正整数, 且n≧1; F1表
示第一个字段, F2表示第二个字段, Fn表示第n个字段; 每个字段配置的 “单独更新无效 ”属
性依次为Fy1, Fy2, ……Fyn, 且F1,F2, ……Fn与Fy1, Fy2, ……Fyn为一一对应关系。
4.根据权利要求3所述的基于标注字段单独更新无效的减少数据库更新量的方法, 其
特征在于, 所述步骤S4中, 字段集合M为: F1,F2 ……Fm,“m”表示字段个数为正整数, 且n≧m
≧1。
5.根据权利要求4所述的基于标注字段单独更新无效的减少数据库更新量的方法, 其
特征在于, 所述 步骤S5中, 更新语句的字段的新 值和原值如下:
UPDATE TSET F1=newF1,F2=newF2, ……Fn=newFn, 其中, newF1表示的为F1字段的
新值, newF2 表示为F2字段的新 值, newFn表示 为Fn字段的新 值;
WHERE F1=oldF1,F2=oldF2, ……Fn=oldFn; 其中, oldF1表示语句未执行F1字段的
原值, oldF2表示语句未 执行F2字段的原值, o ldFn表示语句未 执行Fn字段的原值。
6.根据权利要求5所述的基于标注字段单独更新无效的减少数据库更新量的方法, 其
特征在于, 所述 步骤S6中, 字段集 合Y为: Fi1,Fi2, ……Fiy。
7.根据权利要求6所述的基于标注字段单独更新无效的减少数据库更新量的方法, 其
特征在于, 所述步骤S7中, 字段集合Y为字段集合M的子集时, 其中, Y=Fi1,Fi2,...Fiy, M=
Fi1,Fi2. ..Fim。权 利 要 求 书 1/1 页
2
CN 115168382 A
2基于标注字段单独更新无 效的减少数据库更新量的方 法
技术领域
[0001]本发明涉及数据库更新技术领域, 具体是指一种基于标注字段单独更新无效的减
少数据库更新 量的方法。
背景技术
[0002]随着现代IT系统越来越复杂, 其所管理的数据量也越来越多, 数据更新也越来越
频繁。 数据更新时会在数据库层面产生大量的更新日志, 而更新更新日志中往往会存在一
定量的无效语句, 使Binlog的数据量过大, 会发生数据同步延迟, 影响写入与读出的及时
性, 进而影响到系统的可用性, 同时, 对于IT开发人员, 如果仅是从翻阅代码的角度去分析
发生原因, 会花费大量人力。
[0003]由此可见, 现有的IT系统由于无法实现对更新语句有效性的判定, 使得IT系统数
据库存在更新量大 的问题, 导致数据同步延迟, 致使数据的写入与读出不及时, 因此, 我们
需要开发一种 可有效降低数据库更新量, 提高数据同步的速率, 同时可节约更新日志的维
护和管理的人力物力的数据库更新 量处理方法。
发明内容
[0004]本发明的目的在于解决上述问题, 提供一种基于标注字段单独更新无效的减少数
据库更新量的方法, 可有效降低数据库更新量, 提高数据同步的速率, 同时可节约更新日志
的维护和管理的人力物力。
[0005]本发明的目的通过 下述技术方案实现:
[0006]一种基于标注字段 单独更新无效的减少数据库更新 量的方法, 包括以下步骤:
[0007]步骤S1: 通过数据库管理软件, 新建或修改数据库表, 并将新建或修改的数据库表
设置为变量T, 得到数据库表T。
[0008]步骤S2: 为数据库表T的每个字段新增一个 “单独更新无 效”字段约束选项, 为数据
库表T的每个字段配置一个 “单独更新无效 ”属性, 并建立字段与 “单独更新无效 ”属性的对
应关系。
[0009]步骤S3: 对字段与 “单独更新无效 ”的属性之间的对应关系进行存 储。
[0010]步骤S4: 提取存储中的字段的标志为 “单独更新无 效”的属性Fy=0的字段, 并将 提
取的字段设定为字段集 合M。
[0011]步骤S5: 数据库执行数据库表T的更新语句时, 提取该更新语句的字段的新值和原
值。
[0012]步骤S6: 遍历并比较该更新语句中字段的新值和原值, 遍历完成后查看更新语句
的字段的新值和原值是否有存在差异, 是, 生成字段集合Y, 将更新语句的字段加入字段集
合Y中, 并执行步骤S7; 遍历 完成后,所有字段的新值和旧值 都不存在差异, 数据库则不执行
该条语句并丢弃, 不产生bi nlog。
[0013]步骤S7: 判定字段集合Y是否为字段集合M的子集, 是, 数据库则不执行该条语句并说 明 书 1/3 页
3
CN 115168382 A
3
专利 基于标注字段单独更新无效的减少数据库更新量的方法
文档预览
中文文档
5 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共5页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-07 12:43:15上传分享