From d9b6a2c6dfd9dfa1693ae247ebe72df74d83a3b6 Mon Sep 17 00:00:00 2001 From: Go MAEDA Date: Wed, 9 Apr 2025 07:00:55 +0000 Subject: [PATCH] Merged r23609 from trunk to 6.0-stable (#40728). git-svn-id: https://svn.redmine.org/redmine/branches/6.0-stable@23614 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/time_entry_query.rb | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/app/models/time_entry_query.rb b/app/models/time_entry_query.rb index 41997180b..82b895671 100644 --- a/app/models/time_entry_query.rb +++ b/app/models/time_entry_query.rb @@ -164,12 +164,19 @@ class TimeEntryQuery < Query end def base_scope - TimeEntry.visible. - joins(:project, :user). - includes(:activity). - references(:activity). - left_join_issue. - where(statement) + scope = TimeEntry.visible + .joins(:project, :user) + .includes(:activity) + .references(:activity) + .left_join_issue + .where(statement) + + if Redmine::Database.mysql? && ActiveRecord::Base.connection.supports_optimizer_hints? + # Provides MySQL with a hint to use a better join order and avoid slow response times + scope.optimizer_hints('JOIN_ORDER(time_entries, projects, users)') + else + scope + end end def results_scope(options={})