diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2024-01-14 22:34:25 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-14 15:34:25 +0100 |
commit | fa8c3beb26acfcc7e732038c947225857ebcbf31 (patch) | |
tree | 3f0c9d349fbbd5026eb79e25b29aeec47083d5b6 | |
parent | 97292da96048b036cbe36b3ea66503ac568a73e7 (diff) | |
download | gitea-fa8c3beb26acfcc7e732038c947225857ebcbf31.tar.gz gitea-fa8c3beb26acfcc7e732038c947225857ebcbf31.zip |
Speed up loading the dashboard on mysql/mariadb (#28546)
Fixes #28155
-rw-r--r-- | models/activities/action.go | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/models/activities/action.go b/models/activities/action.go index 15bd9a52ac..c9745e4a8a 100644 --- a/models/activities/action.go +++ b/models/activities/action.go @@ -446,9 +446,12 @@ func GetFeeds(ctx context.Context, opts GetFeedsOptions) (ActionList, int64, err return nil, 0, err } - sess := db.GetEngine(ctx).Where(cond). - Select("`action`.*"). // this line will avoid select other joined table's columns - Join("INNER", "repository", "`repository`.id = `action`.repo_id") + sess := db.GetEngine(ctx).Where(cond) + if setting.Database.Type.IsMySQL() { + sess = sess.IndexHint("USE", "JOIN", "IDX_action_c_u_d") + } + sess = sess.Select("`action`.*"). // this line will avoid select other joined table's columns + Join("INNER", "repository", "`repository`.id = `action`.repo_id") opts.SetDefaultValues() sess = db.SetSessionPagination(sess, &opts) |