diff options
| author | Christian Grothoff <christian@grothoff.org> | 2021-11-29 00:17:09 +0100 | 
|---|---|---|
| committer | Christian Grothoff <christian@grothoff.org> | 2021-11-29 00:17:09 +0100 | 
| commit | 65533e8df5ea5ebf25bd9ae04186a475057efa9e (patch) | |
| tree | 10bf4fc947d90c3a94d86e95defba35da199e082 /src/exchangedb/benchmark-0001.sql | |
| parent | c3ce84af44d7c281eb402500510053e2af86c314 (diff) | |
-simple DB benchmark
Diffstat (limited to 'src/exchangedb/benchmark-0001.sql')
| -rw-r--r-- | src/exchangedb/benchmark-0001.sql | 30 | 
1 files changed, 27 insertions, 3 deletions
diff --git a/src/exchangedb/benchmark-0001.sql b/src/exchangedb/benchmark-0001.sql index 07fe4940..34fed6a5 100644 --- a/src/exchangedb/benchmark-0001.sql +++ b/src/exchangedb/benchmark-0001.sql @@ -20,12 +20,36 @@ BEGIN;  -- Check patch versioning is in place.  SELECT _v.register_patch('benchmark-0001', NULL, NULL); - +-- Naive, btree version  CREATE TABLE IF NOT EXISTS benchmap -  (reserve_uuid BIGSERIAL UNIQUE -  ,hash BYTEA PRIMARY KEY CHECK(LENGTH(hash)=64) +  (uuid BIGSERIAL PRIMARY KEY +  ,hc BYTEA UNIQUE CHECK(LENGTH(hc)=64) +  ,expiration_date INT8 NOT NULL +  ); + +-- Replace btree with hash-based index +CREATE TABLE IF NOT EXISTS benchhmap +  (uuid BIGSERIAL PRIMARY KEY +  ,hc BYTEA NOT NULL CHECK(LENGTH(hc)=64) +  ,expiration_date INT8 NOT NULL +  ); +CREATE INDEX IF NOT EXISTS benchhmap_index +  ON benchhmap +  USING HASH (hc); +ALTER TABLE benchhmap +  ADD CONSTRAINT pk +  EXCLUDE USING HASH (hc with =); + +-- Keep btree, also add 32-bit hash-based index on top +CREATE TABLE IF NOT EXISTS benchemap +  (uuid BIGSERIAL PRIMARY KEY +  ,ihc INT4 NOT NULL +  ,hc BYTEA UNIQUE CHECK(LENGTH(hc)=64)    ,expiration_date INT8 NOT NULL    ); +CREATE INDEX IF NOT EXISTS benchemap_index +  ON benchemap +  USING HASH (ihc);  -- Complete transaction  COMMIT;  | 
