diff --git a/litellm-proxy-extras/litellm_proxy_extras/migrations/20260924204413_add_spend_logs_session_head_index/migration.sql b/litellm-proxy-extras/litellm_proxy_extras/migrations/20260924204413_add_spend_logs_session_head_index/migration.sql new file mode 100644 index 00000000000..da26297b59c --- /dev/null +++ b/litellm-proxy-extras/litellm_proxy_extras/migrations/20260924204413_add_spend_logs_session_head_index/migration.sql @@ -0,0 +1,2 @@ +-- CreateIndex (CONCURRENTLY): keep this a single statement so Prisma Migrate applies it outside a transaction +CREATE INDEX CONCURRENTLY IF NOT EXISTS "LiteLLM_SpendLogs_session_id_api_key_startTime_request_id_idx" ON "LiteLLM_SpendLogs"("session_id", "api_key", "startTime" DESC, "request_id"); diff --git a/litellm-proxy-extras/litellm_proxy_extras/schema.prisma b/litellm-proxy-extras/litellm_proxy_extras/schema.prisma index 85996430bc5..9429cbabc75 100644 --- a/litellm-proxy-extras/litellm_proxy_extras/schema.prisma +++ b/litellm-proxy-extras/litellm_proxy_extras/schema.prisma @@ -684,6 +684,7 @@ model LiteLLM_SpendLogs { @@index([session_id]) @@index([litellm_call_id]) @@index([api_key, startTime]) + @@index([session_id, api_key, startTime(sort: Desc), request_id]) } model LiteLLM_BudgetWindowSpend { diff --git a/litellm/proxy/schema.prisma b/litellm/proxy/schema.prisma index 85996430bc5..9429cbabc75 100644 --- a/litellm/proxy/schema.prisma +++ b/litellm/proxy/schema.prisma @@ -684,6 +684,7 @@ model LiteLLM_SpendLogs { @@index([session_id]) @@index([litellm_call_id]) @@index([api_key, startTime]) + @@index([session_id, api_key, startTime(sort: Desc), request_id]) } model LiteLLM_BudgetWindowSpend { diff --git a/schema.prisma b/schema.prisma index 85996430bc5..9429cbabc75 100644 --- a/schema.prisma +++ b/schema.prisma @@ -684,6 +684,7 @@ model LiteLLM_SpendLogs { @@index([session_id]) @@index([litellm_call_id]) @@index([api_key, startTime]) + @@index([session_id, api_key, startTime(sort: Desc), request_id]) } model LiteLLM_BudgetWindowSpend {