mirror of
1
Fork 0
forgejo/models/issues
Giteabot c3b7120042
Add index to `issue_user.issue_id` (#27154) (#27158)
Backport #27154 by @JakobDev

This fixes a performance bottleneck. It was discovered by Codeberg.
Every where query on that table (which has grown big over time) uses
this column, but there is no index on it.

See this part of the log which was posted on Matrix:
```
2023/09/10 00:52:01 ...rs/web/repo/issue.go:1446:ViewIssue() [W] [Slow SQL Query] UPDATE `issue_user` SET is_read=? WHERE uid=? AND issue_id=? [true x y] - 51.395434887s
2023/09/10 00:52:01 ...rs/web/repo/issue.go:1447:ViewIssue() [E] ReadBy: Error 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
2023/09/10 00:52:01 ...eb/routing/logger.go:102:func1() [I] router: completed GET /Codeberg/Community/issues/1201 for [::ffff:xxx]:0, 500 Internal Server Error in 52384.2ms @ repo/issue.go:1256(repo.ViewIssue)
```

Co-authored-by: JakobDev <jakobdev@gmx.de>
2023-09-21 11:42:34 +08:00
..
assignees.go Make more functions use ctx instead of db.DefaultContext (#24068) 2023-04-14 14:18:28 -04:00
assignees_test.go Replace 'userxx' with 'orgxx' in all test files when the user type is org (#27052) 2023-09-14 02:59:53 +00:00
comment.go More refactoring of `db.DefaultContext` (#27083) 2023-09-15 06:13:19 +00:00
comment_code.go Show outdated comments in files changed tab (#24936) 2023-06-21 16:08:12 +00:00
comment_list.go Add context parameter to some database functions (#26055) 2023-07-22 22:14:27 +08:00
comment_test.go Move some functions to service layer (#26969) 2023-09-08 21:09:23 +00:00
content_history.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
content_history_test.go Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
dependency.go Add API to manage issue dependencies (#17935) 2023-03-28 13:23:25 -04:00
dependency_test.go refactor some functions to support ctx as first parameter (#21878) 2022-12-03 10:48:26 +08:00
issue.go Move some functions to service layer (#26969) 2023-09-08 21:09:23 +00:00
issue_index.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue_label.go Update tool dependencies, lock govulncheck and actionlint (#25655) 2023-07-09 11:58:06 +00:00
issue_list.go Add context parameter to some database functions (#26055) 2023-07-22 22:14:27 +08:00
issue_list_test.go Add context parameter to some database functions (#26055) 2023-07-22 22:14:27 +08:00
issue_lock.go Rename almost all Ctx functions (#22071) 2022-12-10 10:46:31 +08:00
issue_project.go Use more `IssueList` instead of `[]*Issue` (#26369) 2023-08-07 19:26:40 +00:00
issue_search.go Fix wrong review requested number (#26784) 2023-09-03 02:12:38 +00:00
issue_stats.go Remove the useless function `GetUserIssueStats` and move relevant tests to `indexer_test.go` (#27067) 2023-09-14 12:35:53 -04:00
issue_test.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
issue_update.go Update tool dependencies, lock govulncheck and actionlint (#25655) 2023-07-09 11:58:06 +00:00
issue_user.go Add index to `issue_user.issue_id` (#27154) (#27158) 2023-09-21 11:42:34 +08:00
issue_user_test.go Fix bug with sqlite load read (#26305) 2023-08-05 10:40:27 +08:00
issue_watch.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
issue_watch_test.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
issue_xref.go Fix more HTMLURL in templates (#22831) 2023-02-09 11:31:30 -05:00
issue_xref_test.go Replace 'userxx' with 'orgxx' in all test files when the user type is org (#27052) 2023-09-14 02:59:53 +00:00
label.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
label_test.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
main_test.go move repository deletion to service layer (#26948) 2023-09-08 04:51:15 +00:00
milestone.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
milestone_list.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
milestone_test.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
pull.go Move some functions to service layer (#26969) 2023-09-08 21:09:23 +00:00
pull_list.go More refactoring of `db.DefaultContext` (#27083) 2023-09-15 06:13:19 +00:00
pull_test.go More refactoring of `db.DefaultContext` (#27083) 2023-09-15 06:13:19 +00:00
reaction.go Always show usernames in reaction tooltips (#26444) 2023-08-10 21:20:01 +00:00
reaction_test.go Replace 'userxx' with 'orgxx' in all test files when the user type is org (#27052) 2023-09-14 02:59:53 +00:00
review.go Add transaction when creating pull request created dirty data (#26259) 2023-08-10 02:39:21 +00:00
review_list.go Add commits dropdown in PR files view and allow commit by commit review (#25528) 2023-07-28 21:18:12 +02:00
review_test.go Replace 'userxx' with 'orgxx' in all test files when the user type is org (#27052) 2023-09-14 02:59:53 +00:00
stopwatch.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
stopwatch_test.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
tracked_time.go Add context parameter to some database functions (#26055) 2023-07-22 22:14:27 +08:00
tracked_time_test.go Replace 'userxx' with 'orgxx' in all test files when the user type is org (#27052) 2023-09-14 02:59:53 +00:00