The invention discloses a method and a device for processing a large field data, the processing method comprises the following steps: receiving and processing instructions for processing large data fields specified database table; if the field data length is less than or equal to the threshold, according to the data manager instructions to determine the large field the data belongs to, and the corresponding treatment of the large field data, wherein the data pages for field records page, the page is used to store large field records at least two large field data. Using this method, the data pages from field data storage at least two large field data, the database can save storage space, thereby reducing the storage space of the waste of resources, in addition, can also reduce the amount of data page load field data processing, which reduces the cost of input and output field data processing, so as to improve the efficiency of database.
【技术实现步骤摘要】
本专利技术实施例涉及数据库相关
,尤其涉及一种大字段数据的处理方法及装置。
技术介绍
大字段是数据库中的一种数据类型,以大字段类型进行存储的数据称为大字段数据。一般地,以大字段类型存储的数据可以分为两类:一类是长文本,普通的文本类型最多只能存储4000个汉字,而基于大字段类型存储的长文本远可以大于4000字;另一类是二进制信息,如图片或者文件等。与其他数据类型相比,大字段需要采用特殊的存储方式。因为大字段数据的大小一般都很大,甚至大于数据库规定的最大行大小。这就意味着很多大字段数据无法直接在存储在数据库表中行单元中。现有存储大字段数据的方法中,通常是为大字段数据专门定义一种数据页的类型,称为大字段数据页,以用该类型的数据页独立存储大字段数据,且在行记录中只记录首个大字段数据页的页地址信息。对于该种简单的大字段独立存储方法,局限之处在于:对于需要存储大字段数据,至少需要一个大字段数据页,然而,对于一个大字段数据页来说,只能用来存储一个大字段数据。但在实际应用中,很多的大字段数据长度都不会超过数据页的一半,对于该种情况,大字段数据页在存储一个大字段数据之后,会剩余大量的空闲空间,而这些空闲空间也不能再用来存储其他数据。由此造成了大字段数据页的空间浪费;同时,当对大字段数据进行批量查询时,也会增加大字段数据页的输入输出代价,从而降低数据库的执行效率。
技术实现思路
本专利技术的目的是提出一种大字段数据的处理方法及装置,以实现对大字段数据的优化处理。一方面,本专利技术实施例提供了一种大字段数据的处理方法,该处理方法包括:接收对指定数据库表的大字段数据进行处理的 ...
【技术保护点】
一种大字段数据的处理方法,其特征在于,包括:接收对指定数据库表的大字段数据进行处理的处理指令;如果所述大字段数据的数据长度小于或等于设定阈值,则根据所述处理指令确定所述大字段数据所属的数据页,并对所述大字段数据进行相应的处理,其中,所述数据页记为大字段记录页,所述大字段记录页用于存储至少两条大字段数据的数据信息。
【技术特征摘要】
1.一种大字段数据的处理方法,其特征在于,包括:接收对指定数据库表的大字段数据进行处理的处理指令;如果所述大字段数据的数据长度小于或等于设定阈值,则根据所述处理指令确定所述大字段数据所属的数据页,并对所述大字段数据进行相应的处理,其中,所述数据页记为大字段记录页,所述大字段记录页用于存储至少两条大字段数据的数据信息。2.根据权利要求1所述的方法,其特征在于,还包括:在创建所述指定数据库表时,如果检测到所述指定数据库表中存在数据类型为大字段的列,则为所述列创建专属的大字段数据段,所述大字段数据段为处理大字段数据所需的数据环境;在所述大字段数据段中创建至少一个控制组,并为所述控制组对应分配一个数据页,记所述数据页为大字段控制页。3.根据权利要求2所述的方法,其特征在于,所述控制组基于对应的大字段控制页中存储的目录项信息管理大字段记录页,其中,所述目录项信息中的一条目录项对应记录一个大字段记录页的页地址以及页剩余空间大小;所述大字段记录页包括页头、数据以及数据索引三部分,其中,所述页头中记录有所述大字段记录页所属控制组的控制组地址;所述控制组地址为与所述控制组对应的大字段控制页的页地址。4.根据权利要求3所述的方法,其特征在于,所述根据所述处理指令确定所述大字段数据所属的数据页,并对所述大字段数据进行相应的处理,具体包括:当所述处理指令为存储指令时,确定存储所述大字段数据所需的大字段记录页,并对所述大字段数据进行存储操作;当所述处理指令为修改指令时,确定所述大字段数据所属的大字段记录页,并对所述大字段数据进行修改操作;当所述处理指令为删除指令时,确定所述大字段数据所属的大字段记录页,并对所述大字段数据进行删除操作。5.根据权利要求4所述的方法,其特征在于,所述确定存储所述大字段数据所需的大字段记录页,并对所述大字段数据进行存储操作,包括:将所述大字段数据分配到所述大字段数据段的任一个未封锁的控制组中,并封锁所述控制组;基于所述控制组对应的目录项信息确定存储所述大字段数据所需的大字段记录页;将所述大字段数据的数据信息写入所述大字段记录页;更新所述大字段记录页在所述控制组中的目录项信息,并释放对所述控制组的封锁。6.根据权利要求5所述的方法,其特征在于,所述基于所述控制组对应的目录项信息确定存储所述大字段数据所需的大字段记录页,包括:如果所述控制组对应的目录项信息为空,则为所述大字段数据分配一个新的大字段记录页;否则,确定所述控制组对应的目录项信息中是否存在满足设定条件的目录项,如果存在满足所述设定条件的目录项,则确定所述目录项中页地址对应的大字段记录页为存储所述大字段数据所需的大字段记录页;否则,为所述大字段数据分配一个新的大字段记录页;其中,所述设定条件为:目录项的页剩余空间大小大于或等于所述大字段数据的数据长度。7.根据权利要求4所述的方法,其特征在于,所述确定所述大字段数据所属的大字段记录页,并对所述大字段数据进行修改操作,包括:基于所述大字段数据在所述指定数据库表中对应的行记录信息,确定所述大字段数据所属数据页的页地址;基于所述页地址在所述大字段数据段中确定对应的大字段记录页;检查所述大字段记录页的页头中记录的控制组地址是否为空;如果所述控制组地址不为空...
【专利技术属性】
技术研发人员:王攀,郭琰,望声宜,
申请(专利权)人:上海达梦数据库有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。