should be it

This commit is contained in:
2025-10-24 19:21:19 -05:00
parent a4b23fc57c
commit f09560c7b1
14047 changed files with 3161551 additions and 1 deletions

View File

@@ -0,0 +1,15 @@
# name: benchmark/micro/index/create/create_art.benchmark
# description: Create ART on 10M integers, 2.5M distinct values
# group: [create]
name Create ART
group art
load
CREATE TABLE art AS SELECT (range * 9876983769044::INT128 % 10000000)::INT64 AS id FROM range(10000000);
run
CREATE INDEX idx ON art USING ART(id);
cleanup
DROP INDEX idx;

View File

@@ -0,0 +1,15 @@
# name: benchmark/micro/index/create/create_art_duplicates.benchmark
# description: Create ART on 10M integers, approx. 100 distinct values
# group: [create]
name Create ART Duplicates
group art
load
CREATE TABLE art AS SELECT (random() * 100)::INT AS id FROM range(10000000);
run
CREATE INDEX idx ON art USING ART(id);
cleanup
DROP INDEX idx;

View File

@@ -0,0 +1,16 @@
# name: benchmark/micro/index/create/create_art_pk.benchmark
# description: Create ART PK on 10M integers, 2.5M distinct values
# group: [create]
name Create ART PK
group art
load
CREATE TABLE art AS SELECT range AS id, random() AS pos FROM range(10000000) ORDER BY pos;
run
ALTER TABLE art ADD PRIMARY KEY (id);
cleanup
DROP TABLE art;
CREATE TABLE art AS SELECT range AS id, random() AS pos FROM range(10000000) ORDER BY pos;

View File

@@ -0,0 +1,15 @@
# name: benchmark/micro/index/create/create_art_random.benchmark
# description: Create ART on 10M integers, approx. 1M distinct values
# group: [create]
name Create ART Random
group art
load
CREATE TABLE art AS SELECT (random() * 1000000)::INT AS id FROM range(10000000);
run
CREATE INDEX idx ON art USING ART(id);
cleanup
DROP INDEX idx;

View File

@@ -0,0 +1,15 @@
# name: benchmark/micro/index/create/create_art_sorted.benchmark
# description: Create ART on 1M sorted integers
# group: [create]
name Create ART Sorted
group art
load
CREATE TABLE art AS SELECT range::INT id FROM range(1000000);
run
CREATE INDEX idx ON art USING ART(id);
cleanup
DROP INDEX idx;

View File

@@ -0,0 +1,15 @@
# name: benchmark/micro/index/create/create_art_unique.benchmark
# description: Create UNIQUE ART on 10M integers, 2.5M distinct values
# group: [create]
name Create ART UNIQUE
group art
load
CREATE TABLE art AS SELECT range AS id, random() AS pos FROM range(10000000) ORDER BY pos;
run
CREATE UNIQUE INDEX idx ON art USING ART(id);
cleanup
DROP INDEX idx;

View File

@@ -0,0 +1,19 @@
# name: benchmark/micro/index/create/create_art_varchar.benchmark
# description: Create ART on 28.8M VARCHARs with 7.2M unique values
# group: [create]
name Create ART Varchar
group art
load
CREATE TABLE art AS
SELECT rpad(((i * 95823983533) % 86000000)::VARCHAR, 10, '-') AS id
FROM range(3600000) tbl(i);
INSERT INTO art (SELECT * FROM art);
INSERT INTO art (SELECT * FROM art);
run
CREATE INDEX idx ON art USING ART(id);
cleanup
DROP INDEX idx;

View File

@@ -0,0 +1,20 @@
# name: benchmark/micro/index/create/create_art_varchar_long.benchmark
# description: Create ART on 10M random long VARCHARs
# group: [create]
name Create ART Varchar Long
group art
load
CREATE TEMPORARY TABLE strings_temp AS
SELECT ((i * 95823983533) % 100000)::VARCHAR AS s1,
((i * 547892347987) % 1000)::VARCHAR AS s2,
((i * 847892347987) % 100)::VARCHAR AS s3,
FROM range(1000000) tbl(i);
CREATE TABLE art AS SELECT s3 || 'a' || s2 || 'b' || s3 || 'c' || repeat(s2, s3::INT) || s1 || 'a' || s3 || 'c' AS id FROM strings_temp;
run
CREATE INDEX idx ON art USING ART(id);
cleanup
DROP INDEX idx;

View File

@@ -0,0 +1,20 @@
# name: benchmark/micro/index/create/create_art_varchar_short.benchmark
# description: Create ART on 10M random short VARCHARs
# group: [create]
name Create ART Varchar Short
group art
load
CREATE TEMPORARY TABLE strings_temp AS
SELECT ((i * 95823983533) % 100000)::VARCHAR AS s1,
((i * 547892347987) % 1000)::VARCHAR AS s2,
((i * 847892347987) % 100)::VARCHAR AS s3,
FROM range(1000000) tbl(i);
CREATE TABLE art AS SELECT s1 || 'a' || s2 || 'b' || s3 || 'c' AS id FROM strings_temp;
run
CREATE INDEX idx ON art USING ART(id);
cleanup
DROP INDEX idx;