From 6cd5d90f5597c458c079b17958f49ae62789f285 Mon Sep 17 00:00:00 2001 From: Shuchang Zheng Date: Fri, 9 Jan 2026 20:01:28 -0800 Subject: [PATCH] join query performance improvement - add organization_id to the workflow_scripts & scripts table join (#4429) --- skyvern/forge/sdk/db/agent_db.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/skyvern/forge/sdk/db/agent_db.py b/skyvern/forge/sdk/db/agent_db.py index dfb052df..3b4e86e3 100644 --- a/skyvern/forge/sdk/db/agent_db.py +++ b/skyvern/forge/sdk/db/agent_db.py @@ -5806,9 +5806,16 @@ class AgentDB(BaseAlchemyDB): try: async with self.Session() as session: # Build the query: join workflow_scripts with scripts + # Join on both script_id and organization_id to leverage uc_org_script_version index query = ( select(ScriptModel) - .join(WorkflowScriptModel, ScriptModel.script_id == WorkflowScriptModel.script_id) + .join( + WorkflowScriptModel, + and_( + ScriptModel.organization_id == WorkflowScriptModel.organization_id, + ScriptModel.script_id == WorkflowScriptModel.script_id, + ), + ) .where( WorkflowScriptModel.organization_id == organization_id, WorkflowScriptModel.workflow_permanent_id == workflow_permanent_id,