From 18d6b83df2e284b4f987bcdff3222acdb20df0ba Mon Sep 17 00:00:00 2001 From: Lev Kokotov Date: Wed, 2 Sep 2026 13:40:45 -0700 Subject: [PATCH] added benchmark for insert splits --- benches/perf/sharding/pgdog.toml | 8 ++++++++ benches/perf/sharding/script.sql | 7 +++++-- benches/perf/sharding/setup.sql | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/benches/perf/sharding/pgdog.toml b/benches/perf/sharding/pgdog.toml index d3939a3e7..1073b584b 100644 --- a/benches/perf/sharding/pgdog.toml +++ b/benches/perf/sharding/pgdog.toml @@ -36,3 +36,11 @@ host = "localhost" role = "replica" shard = 2 database_name = "pgdog3" + +[[sharded_tables]] +database = "pgdog" +column = "id" +name = "sharding_bench" + +[rewrite] +split_inserts = "rewrite" diff --git a/benches/perf/sharding/script.sql b/benches/perf/sharding/script.sql index b3585b94f..1b88d0418 100644 --- a/benches/perf/sharding/script.sql +++ b/benches/perf/sharding/script.sql @@ -1,3 +1,6 @@ -\set id random(1, 30) +\set id random(1, 10000) +\set id2 random(10000, 20000) +\set id3 random(20000, 30000) -SELECT * FROM sharding_bench WHERE id = :id; + +INSERT INTO sharding_bench (id, value) VALUES (:id, 'test1'), (:id2, 'test3'), (:id3, 'test3'); diff --git a/benches/perf/sharding/setup.sql b/benches/perf/sharding/setup.sql index 8bedecdad..ee848860d 100644 --- a/benches/perf/sharding/setup.sql +++ b/benches/perf/sharding/setup.sql @@ -1,5 +1,5 @@ DROP TABLE IF EXISTS sharding_bench; -CREATE TABLE sharding_bench (id BIGINT PRIMARY KEY, value TEXT, created_at TIMESTAMPTZ DEFAULT NOW()); +CREATE TABLE sharding_bench (id BIGINT, value TEXT, created_at TIMESTAMPTZ DEFAULT NOW()); INSERT INTO sharding_bench VALUES (1, 'test1'); INSERT INTO sharding_bench VALUES (2, 'test2');