From 6cfd8e69ec4cec5803827e033b09908ba95a2fd2 Mon Sep 17 00:00:00 2001 From: Jeff Stein Date: Tue, 3 Mar 2026 11:06:24 -0800 Subject: [PATCH] Filter on dag_id when querying task_instance (#62751) (cherry picked from commit 196553468f158d39a76ae204cc11785ec05779e9) --- airflow-core/src/airflow/models/serialized_dag.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/airflow-core/src/airflow/models/serialized_dag.py b/airflow-core/src/airflow/models/serialized_dag.py index e714361df9d8f..401809c5087a7 100644 --- a/airflow-core/src/airflow/models/serialized_dag.py +++ b/airflow-core/src/airflow/models/serialized_dag.py @@ -432,7 +432,15 @@ def write_dag( has_task_instances: bool = False if dag_version: has_task_instances = bool( - session.scalar(select(exists().where(TaskInstance.dag_version_id == dag_version.id))) + session.scalar( + select( + exists().where( + # Using dag_id filter to speed up query via the composite index. + TaskInstance.dag_id == dag.dag_id, + TaskInstance.dag_version_id == dag_version.id, + ) + ) + ) ) if dag_version and not has_task_instances: