From 36b81b27703d298f016180a71c85113d5c90c6b1 Mon Sep 17 00:00:00 2001 From: danielhanrahan Date: Thu, 17 Aug 2023 14:58:30 +0100 Subject: Enable hibernate write batching - Implement fragment ID sequence generator with allocation size of 100 - Enable write batching for insert and update, with batch size of 100 - Write performance is over 2x faster Issue-ID: CPS-1795 Signed-off-by: danielhanrahan Change-Id: I7ebd0f834abb57c593603e2cd3fafc7e3425ab1e --- .../db/changes/22-fragment-id-sequence-forward.sql | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence-forward.sql (limited to 'cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence-forward.sql') diff --git a/cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence-forward.sql b/cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence-forward.sql new file mode 100644 index 000000000..7f8d686c7 --- /dev/null +++ b/cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence-forward.sql @@ -0,0 +1,20 @@ +/* + ============LICENSE_START======================================================= + Copyright (C) 2024 Nordix Foundation. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + SPDX-License-Identifier: Apache-2.0 + ============LICENSE_END========================================================= +*/ + +ALTER TABLE fragment ALTER COLUMN id DROP IDENTITY; +CREATE SEQUENCE fragment_id_seq INCREMENT BY 100 START WITH 100; +SELECT setval('fragment_id_seq', (SELECT ((max(id) / 100) + 1) * 100 FROM fragment), TRUE); -- cgit 1.2.3-korg