From c721fac466524747de04e3623c8cd62de8bd4dae Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Sun, 5 Apr 2026 14:33:03 -0400 Subject: [PATCH] perf: add partial index for expired cache resource cleanup (#8728) Co-authored-by: Claude Opus 4.5 --- .../20260405151839_add_resource_cache_expire_index.down.sql | 1 + .../20260405151839_add_resource_cache_expire_index.up.sql | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 backend/migrations/20260405151839_add_resource_cache_expire_index.down.sql create mode 100644 backend/migrations/20260405151839_add_resource_cache_expire_index.up.sql diff --git a/backend/migrations/20260405151839_add_resource_cache_expire_index.down.sql b/backend/migrations/20260405151839_add_resource_cache_expire_index.down.sql new file mode 100644 index 0000000000..8e71d40f0b --- /dev/null +++ b/backend/migrations/20260405151839_add_resource_cache_expire_index.down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS idx_resource_cache_expire; diff --git a/backend/migrations/20260405151839_add_resource_cache_expire_index.up.sql b/backend/migrations/20260405151839_add_resource_cache_expire_index.up.sql new file mode 100644 index 0000000000..dd3a5989cc --- /dev/null +++ b/backend/migrations/20260405151839_add_resource_cache_expire_index.up.sql @@ -0,0 +1,5 @@ +-- Partial functional index to speed up periodic cleanup of expired cache resources. +-- Matches the query: DELETE FROM resource WHERE resource_type = 'cache' AND to_timestamp((value->>'expire')::int) < now() +CREATE INDEX IF NOT EXISTS idx_resource_cache_expire + ON resource (to_timestamp((value->>'expire')::int)) + WHERE resource_type = 'cache';