jooq
介绍
当您想在Java中使用SQL而不用过多的ORM时,jOOQ是一个很好的框架。 同时,它可以集成到许多环境中,因为它为您提供了许多特定于数据库的功能的支持。 一种此类特定于数据库的功能是PostgreSQL中的分区。 在PostgreSQL中进行分区主要是出于性能方面的考虑,因为它可以在某些情况下提高查询性能。 jOOQ没有对此功能的明确支持,但是正如我们将向您展示的,它可以很容易地集成。
本文由位于德国的jOOQ集成合作伙伴 UWS软件服务(UWS)提供 。 UWS专门从事定制软件开发,应用程序现代化和外包,并且特别关注Java Enterprise生态系统。
在PostgreSQL中分区
使用PostgreSQL分区功能,您可以将构成一个巨大表的数据拆分为多个单独的表。 每个分区都是一个普通表,该表从父表继承其列和约束。 这种所谓的表继承可用于“范围分区”,例如,在标识符,日期或其他条件方面,一个范围的数据与另一范围的数据不重叠。
像下面的示例一样,您可以对表“ author”进行分区,该表的所有行都与表“ authorgroup”共享相同的外键。
CREATE TABLE author (
authorgroup_id int,
LastName varchar(255)
);
CREATE TABLE author_1 (
CONSTRAINT authorgroup_id_check_1
CHECK ((authorgroup_id = 1))
) INHERITS (author);
CREATE TABLE author_2 (
CONSTRAINT authorgroup_id_check_2
CHECK ((autho