diff --git a/crates/lib/mysql_queries/src/queries/generic_inference/web/list_session_jobs.rs b/crates/lib/mysql_queries/src/queries/generic_inference/web/list_session_jobs.rs index 40b74480b7..3fbf2a7c34 100644 --- a/crates/lib/mysql_queries/src/queries/generic_inference/web/list_session_jobs.rs +++ b/crates/lib/mysql_queries/src/queries/generic_inference/web/list_session_jobs.rs @@ -125,6 +125,9 @@ pub async fn list_session_jobs_from_connection( query_builder.push(" WHERE jobs.maybe_creator_user_token = "); query_builder.push_bind(args.user_token.to_string()); + // NB: `created_at` doesn't have an index, but `maybe_creator_user_token` does. + query_builder.push(" AND created_at > DATE_SUB(NOW(), INTERVAL 36 HOUR) "); + if let Some(statuses) = args.maybe_include_job_statuses { if !statuses.is_empty() { query_builder.push(" AND jobs.status IN ("); @@ -149,6 +152,9 @@ pub async fn list_session_jobs_from_connection( } } + query_builder.push(" ORDER BY id DESC "); + query_builder.push(" LIMIT 100 "); + let query = query_builder.build_query_as::(); let query_results = query.fetch_all(&mut **mysql_connection).await;