[发明专利]一种数组类型列的索引方法、装置、设备以及存储介质有效
申请号: | 202110164413.3 | 申请日: | 2021-02-05 |
公开(公告)号: | CN112835905B | 公开(公告)日: | 2023-08-01 |
发明(设计)人: | 王家贤;郭琰;韩朱忠 | 申请(专利权)人: | 上海达梦数据库有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/242;G06F16/2453;G06F16/28 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数组 类型 索引 方法 装置 设备 以及 存储 介质 | ||
1.一种数组类型列的索引方法,其特征在于,包括:
根据索引请求获取对应的目标where子句,所述目标where子句包括目标数组类型列;
确定目标数组类型列中的标量数据在索引辅助表中的第一行号;
根据所述第一行号确定源表中对应的第二行号的目标数据,所述目标数据作为所述目标数组类型列的索引结果;
其中,所述索引辅助表包括具有索引编号的数组类型列,所述源表包括不具有索引编号的数组集合;
所述根据所述第一行号确定源表中对应的第二行号的目标数据,所述目标数据作为所述目标数组类型列的索引结果,包括:
将在所述索引辅助表中确定的所述第一行号与所述源表中的所有行号进行匹配,将匹配成功的所述源表中的所述行号确定为所述第二行号,输出所述源表中所述第二行号对应行中的数据作为所述目标数据,并将所述目标数据作为所述索引结果;
在所述根据索引请求获取对应的目标where子句之前,还包括在所述目标数组类型列上创建数组索引;
所述在所述目标数组类型列上创建数组索引包括:
获取所述目标数组类型列对应的标量类型以及创建所述索引辅助表;
其中,所述创建所述索引辅助表包括:
获取创建的数据字段,所述数据字段存储所述目标数组类型列包含的标量数据;
获取创建的行号字段,所述行号字段存储在所述源表中所述标量数据所在行的行号;
基于所述数据字段和所述行号字段创建所述索引辅助表。
2.根据权利要求1所述的方法,其特征在于,在所述数据字段中,将每行数组类型数据中重复的标量数据去除后,将不重复的标量数据存储到所述数组类型列中。
3.根据权利要求1所述的方法,其特征在于,在所述创建索引辅助表之后,还包括:
获取在所述源表上创建的行后触发器,所述行后触发器包括三类触发动作,所述三类触发动作包括源表插入行动作、源表删除行动作以及源表更新行动作。
4.根据权利要求3所述的方法,其特征在于,在所述根据所述第一行号确定源表中对应的第二行号的目标数据,所述目标数据作为所述目标数组类型列的索引结果之后,还包括:
当源表中插入N行数据后,通过所述行后触发器触发源表插入行动作,在所述辅助表中插入所述N行数据的数组类型列中包含的所有标量数据和所述标量数据所在行的行号。
5.根据权利要求3所述的方法,其特征在于,在所述根据所述第一行号确定源表中对应的第二行号的目标数据,所述目标数据作为所述目标数组类型列的索引结果之后,还包括:
当源表中删除N行数据后,通过所述行后触发器触发源表删除行动作,在所述辅助表中根据所述N行数据的行号删除对应的行。
6.根据权利要求3所述的方法,其特征在于,在所述根据所述第一行号确定源表中对应的第二行号的目标数据,所述目标数据作为所述目标数组类型列的索引结果之后,还包括:
当源表中更新N行数据后,通过所述行后触发器触发源表更新行动作,在所述辅助表中根据所述N行数据的行号删除对应的行;
在所述辅助表中插入所述N行数据的数组类型列中包含的所有标量数据和所述标量数据所在行的行号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110164413.3/1.html,转载请声明来源钻瓜专利网。