Skip to content

Commit 2c10980

Browse files
committed
graphql-alt: indices for packages and epochs
## Description Augment indices to make the following query patterns efficient: - Latest epoch for a given checkpoint - Latest package for a given checkpoint - Latest package below a given version - Paginate package versions ## Test plan Take local copies of the relevant tables, without indices and EXPLAIN the relevant queries. Then add the indices and re-EXPLAIN the queries to confirm that they had the desired effect.
1 parent da6e940 commit 2c10980

File tree

4 files changed

+21
-0
lines changed
  • crates/sui-indexer-alt-schema/migrations

4 files changed

+21
-0
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
DROP INDEX IF EXISTS kv_packages_id_cp_version;
2+
3+
CREATE INDEX IF NOT EXISTS kv_packages_id_version_cp
4+
ON kv_packages (original_id, package_version, cp_sequence_number);
5+
6+
CREATE INDEX IF NOT EXISTS kv_packages_system_packages
7+
ON kv_packages (cp_sequence_number, original_id, package_version)
8+
WHERE is_system_package = true;
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
DROP INDEX IF EXISTS
2+
kv_packages_id_version_cp,
3+
kv_packages_system_packages;
4+
5+
CREATE INDEX IF NOT EXISTS kv_packages_id_cp_version
6+
ON kv_packages (original_id, cp_sequence_number DESC, package_version DESC);
7+
8+
CREATE INDEX kv_packages_system_packages
9+
ON kv_packages (original_id, cp_sequence_number DESC, package_version DESC)
10+
WHERE is_system_package = true;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
DROP INDEX IF EXISTS kv_epoch_starts_cp_lo;
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CREATE INDEX IF NOT EXISTS kv_epoch_starts_cp_lo
2+
ON kv_epoch_starts (cp_lo);

0 commit comments

Comments
 (0)