System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据库,特别是涉及一种数据库增删改查方法、一种数据库增删改查装置、一种电子设备以及一种计算机可读介质。
技术介绍
1、传统的java网站后端,小程序后端,安卓app后端等软件后端一些请求服务都会涉及到访问远程的数据库,但随着数据库规模的扩大,包括数据量增加、数据表增多、数据库表字段增多,数据库如果没有针对需要进行增删改查操作的字段进行性能优化,尤其是面对一些复杂的增删改查,如多表关联、聚合操作、子查询等复杂的增删改查操作没有进行性能优化的话,会使得数据库响应时间比较漫长。同时当数据库面临高并发负载时,数据库增删改查性能会成为瓶颈,并发的增删改查可能导致资源争用和锁竞争,降低系统的整体性能,使得响应时间更加会远超过了预期或用户可接受的范围时,长时间的等待会降低系统的响应速度,甚至到导致系统崩溃,极大影响了用户体验感。
技术实现思路
1、鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据库增删改查方法、一种数据库增删改查装置、一种电子设备以及一种计算机可读介质。
2、本专利技术公开了一种数据库增删改查方法,所述方法包括:
3、识别和处理sql语句,生成所述sql语句对应的b+树索引;
4、对所述sql语句对应的b+树索引进行去重并建立所述sql语句对应的多重b+树索引集;
5、采用所述sql语句对应的多重b+树索引集执行所述sql语句,得到增删改查结果。
6、可选地,识别和
7、识别所述sql语句中是否包含增删改查关键字;
8、若所述sql语句包含增删改查关键字,从所述sql语句中提取所有字段和表名;
9、根据所述字段和表名建立所述sql语句对应的b+树索引。
10、可选地,若所述sql语句包含增删改查关键字,从所述sql语句中提取所有字段和表名,包括:
11、若所述sql语句包含增删改查关键字,则根据所述增删改查关键字确定所述sql语句的类型;
12、根据所述sql语句的类型的语句结构从所述sql语句中提取sql语句片段;
13、采用指定分割符分割所述sql语句片段,得到多个字符串;
14、根据所述sql语句的类型的语句结构从所述多个字符串中确定所有字段和表名。
15、可选地,采用所述sql语句对应的多重b+树索引集执行所述sql语句,得到增删改查结果,包括:
16、若所述sql语句为查询语句,则根据提取的字段和表名,利用所述sql语句对应的多重b+树索引集执行查询操作,得到查询结果;
17、若所述sql语句为更新语句,则根据提取的字段和表名,更新所述sql语句对应的多重b+树索引集;
18、若所述sql语句为插入语句,则根据提取的字段和表名创建b+树索引,并添加到所述sql语句对应的多重b+树索引集中;
19、若所述sql语句为删除语句,则从所述sql语句对应的多重b+树索引集中删除所述提取的字段和表名对应的b+树索引。
20、可选地,所述方法还包括:
21、在相同条件下,基于所述sql语句对应的多重b+树索引集执行增删改查操作和基于其他方式执行增删改查操作,分别得到第一插入所需时间、第一删除所需时间、第一更新所需时间、第一查询所需时间和第二插入所需时间、第二删除所需时间、第二更新所需时间和第二查询所需时间;所述其他方式为无索引或二叉树索引或b树索引或hash索引;
22、采用第二插入所需时间、第二删除所需时间、第二更新所需时间和第二查询所需时间与第一插入所需时间、第一删除所需时间、第一更新所需时间两两相减,得到多个时间差;
23、判断所述多个时间差中最大的时间差是否大于预设时间差阈值;
24、若所述多个时间差中最大的时间差大于预设时间差阈值,则确定第一插入所需时间、第一删除所需时间、第一更新所需时间、第一查询所需时间符合响应时间标准。
25、本专利技术还公开了一种数据库增删改查装置,所述装置包括:
26、b+树索引生成模块,用于识别和处理sql语句,生成所述sql语句对应的b+树索引;
27、多重b+树索引集建立模块,用于对所述sql语句对应的b+树索引进行去重并建立所述sql语句对应的多重b+树索引集;
28、sql语句执行模块,用于采用所述sql语句对应的多重b+树索引集执行所述sql语句,得到增删改查结果。
29、可选地,所述b+树索引生成模块,包括:
30、增删改查识别子模块,用于识别所述sql语句中是否包含增删改查关键字;
31、提取子模块,用于若所述sql语句包含增删改查关键字,从所述sql语句中提取所有字段和表名;
32、b+树索引建立子模块,用于根据所述字段和表名建立所述sql语句对应的b+树索引。
33、可选地,所述提取子模块,包括:
34、sql语句类型确定单元,用于若所述sql语句包含增删改查关键字,则根据所述增删改查关键字确定所述sql语句的类型;
35、sql语句片段提取单元,用于根据所述sql语句的类型的语句结构从所述sql语句中提取sql语句片段;
36、分割单元,用于采用指定分割符分割所述sql语句片段,得到多个字符串;
37、字段和表名确定单元,用于根据所述sql语句的类型的语句结构从所述多个字符串中确定所有字段和表名。
38、可选地,所述sql语句执行模块,包括:
39、查询子模块,用于若所述sql语句为查询语句,则根据提取的字段和表名,利用所述sql语句对应的多重b+树索引集执行查询操作,得到查询结果;
40、更新子模块,用于若所述sql语句为更新语句,则根据提取的字段和表名,更新所述sql语句对应的多重b+树索引集;
41、插入子模块,用于若所述sql语句为插入语句,则根据提取的字段和表名创建b+树索引,并添加到所述sql语句对应的多重b+树索引集中;
42、删除子模块,用于若所述sql语句为删除语句,则从所述sql语句对应的多重b+树索引集中删除所述提取的字段和表名对应的b+树索引。
43、可选地,所述装置还包括:
44、增删改查时间测试模块,用于在相同条件下,基于所述sql语句对应的多重b+树索引集执行增删改查操作和基于其他方式执行增删改查操作,分别得到第一插入所需时间、第一删除所需时间、第一更新所需时间、第一查询所需时间和第二插入所需时间、第二删除所需时间、第二更新所需时间和第二查询所需时间;所述其他方式为无索引或二叉树索引或b树索引或hash索引;
45、最大时间差计算模块,用于采用第二插入所需时间、第二删除所需时间、第二更新所需时间和第二查询所需本文档来自技高网...
【技术保护点】
1.一种数据库增删改查方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,识别和处理SQL语句,生成所述SQL语句对应的B+树索引,包括:
3.根据权利要求2所述的方法,其特征在于,若所述SQL语句包含增删改查关键字,从所述SQL语句中提取所有字段和表名,包括:
4.根据权利要求2所述的方法,其特征在于,采用所述SQL语句对应的多重B+树索引集执行所述SQL语句,得到增删改查结果,包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.一种数据库增删改查装置,其特征在于,所述装置包括:
7.根据权利要求6所述的方法,其特征在于,所述B+树索引生成模块,包括:
8.根据权利要求7所述的方法,其特征在于,所述提取子模块,包括:
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
10.一个或多个计算机可读介质,其上存储有指令,当由一个或多个处
...【技术特征摘要】
1.一种数据库增删改查方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,识别和处理sql语句,生成所述sql语句对应的b+树索引,包括:
3.根据权利要求2所述的方法,其特征在于,若所述sql语句包含增删改查关键字,从所述sql语句中提取所有字段和表名,包括:
4.根据权利要求2所述的方法,其特征在于,采用所述sql语句对应的多重b+树索引集执行所述sql语句,得到增删改查结果,包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
...
【专利技术属性】
技术研发人员:许统洭,
申请(专利权)人:广东天波信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。