【技术实现步骤摘要】
确定数据库中有效分区的方法、装置和系统
本专利技术涉及数据处理领域,具体而言,涉及一种确定数据库中有效分区的方法、装置和系统。
技术介绍
当数据库表空间中存放的数据量不断增大,超过一定的规模时,查询数据的速度就会变慢,应用程序的性能就会下降,因此,需要考虑对表进行分区,也即,将表中的数据按照某一逻辑(该逻辑通常为“时间”)切分成多个分区(LIST分区),表进行分区后,逻辑上仍是一张表,只是将表中的数据物理上存放到多个“表空间”中,每个分区表中存放部分数据,在查询每个表中的数据时,会被拆分成多个分区进行查询,所有分区查询结果汇总为查询整个表的最终结果,分区表可以把不同的分区映射到磁盘以平衡I/O,改善整个系统的性能。但是,在分区表数量较多时会严重影响查询性能,当一个表的分区表个数越多,查询时由于存在过多的无效分区,会导致查询性能越差。现有的避免无效分区的查询的方法,需要DBA(数据库管理员)或者用户感知分区逻辑,并根据分区逻辑手动改写SQL,当分区逻辑发生变化时,需要再次重写SQL,非常容易出错;而且该方法仅适用于查询条件是分区列的查询优化,当查询条件是非分区列时将 ...
【技术保护点】
1.一种确定数据库中有效分区的方法,其特征在于,包括:获取数据库中数据分区的元信息,其中,所述元信息包括:数据分区的区域范围值;根据查询条件和所述数据分区的元信息,确定所述数据分区是否为有效分区。
【技术特征摘要】
1.一种确定数据库中有效分区的方法,其特征在于,包括:获取数据库中数据分区的元信息,其中,所述元信息包括:数据分区的区域范围值;根据查询条件和所述数据分区的元信息,确定所述数据分区是否为有效分区。2.根据权利要求1所述的方法,其特征在于,根据查询条件和所述数据分区的元信息,确定所述数据分区是否为有效分区,包括:在所述查询条件为组合条件的情况下,得到所述组合条件包括的至少一个子条件;根据所述子条件的类型,获取所述子条件的条件值;通过比对所述子条件的条件值与所述数据分区的区域范围值,确定所述子条件的条件结果,其中,所述数据分区的区域范围值至少包括:区域最大值和区域最小值;基于所述至少一个子条件的条件结果,确定所述数据分区是否为有效分区。3.根据权利要求2所述的方法,其特征在于,在所述子条件的类型为等值条件的情况下,所述子条件的条件值为任意一个预设值,其中,通过比对所述子条件的条件值与所述数据分区的区域范围值,确定所述子条件的条件结果,包括:如果所述区域最大值小于等于所述子条件的条件值,或者,所述区域最小值大于等于所述子条件的条件值,则确定所述子条件的条件结果为无效结果;否则,确定所述子条件的条件结果为有效结果。4.根据权利要求2所述的方法,其特征在于,在所述子条件的类型为范围查询条件的情况下,所述子条件的条件值为预设的范围值,其中,通过比对所述子条件的条件值与所述数据分区的区域范围值,确定所述子条件的条件结果,包括:如果所述预设的范围值与所述数据分区的区域范围值存在交集,则确定所述子条件的条件结果为有效结果;否则,确定所述子条件的条件结果为无效结果。5.根据权利要求2所述的方法,其特征在于,在所述子条件的类型既不是等值条件,也不是范围查询条件的情况下,确定所述子条件的条件结果为有效结果。6.根据权利要求2至5中任意一项所述的方法,其特征在于,基于所述至少一个子条件的条件结果,确定所述数据分区是否为有效分区,包括:在所述查询条件包括多个子条件的情况下,获取每个子条件的条件结果;如果所述每个子条件的条件结果都是有效结果的情况下,确定所述数据分区为有效分区;如果任意一个或多个子条件的条件结果为无效结果的情况下,确定所述...
【专利技术属性】
技术研发人员:魏闯先,涂继业,曾杰南,胡进,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。