You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gitea/models/issues
JakobDev 14731a34ff
Add index to `issue_user.issue_id` (#27154)
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)
```
1 year ago
..
assignees.go Make more functions use ctx instead of db.DefaultContext (#24068) 2 years ago
assignees_test.go Replace 'userxx' with 'orgxx' in all test files when the user type is org (#27052) 1 year ago
comment.go More refactoring of `db.DefaultContext` (#27083) 1 year ago
comment_code.go Show outdated comments in files changed tab (#24936) 2 years ago
comment_list.go Add context parameter to some database functions (#26055) 2 years ago
comment_test.go Move some functions to service layer (#26969) 1 year ago
content_history.go Implement FSFE REUSE for golang files (#21840) 2 years ago
content_history_test.go Rename `Sync2` -> `Sync` (#26479) 1 year ago
dependency.go Add API to manage issue dependencies (#17935) 2 years ago
dependency_test.go refactor some functions to support ctx as first parameter (#21878) 2 years ago
issue.go Move some functions to service layer (#26969) 1 year ago
issue_index.go Implement FSFE REUSE for golang files (#21840) 2 years ago
issue_label.go Update tool dependencies, lock govulncheck and actionlint (#25655) 2 years ago
issue_list.go Add context parameter to some database functions (#26055) 2 years ago
issue_list_test.go Add context parameter to some database functions (#26055) 2 years ago
issue_lock.go Rename almost all Ctx functions (#22071) 2 years ago
issue_project.go Use more `IssueList` instead of `[]*Issue` (#26369) 2 years ago
issue_search.go Fix wrong review requested number (#26784) 1 year ago
issue_stats.go Remove the useless function `GetUserIssueStats` and move relevant tests to `indexer_test.go` (#27067) 1 year ago
issue_test.go Next round of `db.DefaultContext` refactor (#27089) 1 year ago
issue_update.go Update tool dependencies, lock govulncheck and actionlint (#25655) 2 years ago
issue_user.go Add index to `issue_user.issue_id` (#27154) 1 year ago
issue_user_test.go Fix bug with sqlite load read (#26305) 2 years ago
issue_watch.go Next round of `db.DefaultContext` refactor (#27089) 1 year ago
issue_watch_test.go Next round of `db.DefaultContext` refactor (#27089) 1 year ago
issue_xref.go Fix more HTMLURL in templates (#22831) 2 years ago
issue_xref_test.go Replace 'userxx' with 'orgxx' in all test files when the user type is org (#27052) 1 year ago
label.go Next round of `db.DefaultContext` refactor (#27089) 1 year ago
label_test.go Next round of `db.DefaultContext` refactor (#27089) 1 year ago
main_test.go move repository deletion to service layer (#26948) 1 year ago
milestone.go Next round of `db.DefaultContext` refactor (#27089) 1 year ago
milestone_list.go Next round of `db.DefaultContext` refactor (#27089) 1 year ago
milestone_test.go Next round of `db.DefaultContext` refactor (#27089) 1 year ago
pull.go Move some functions to service layer (#26969) 1 year ago
pull_list.go More refactoring of `db.DefaultContext` (#27083) 1 year ago
pull_test.go More refactoring of `db.DefaultContext` (#27083) 1 year ago
reaction.go Always show usernames in reaction tooltips (#26444) 2 years ago
reaction_test.go Replace 'userxx' with 'orgxx' in all test files when the user type is org (#27052) 1 year ago
review.go Add transaction when creating pull request created dirty data (#26259) 2 years ago
review_list.go Add commits dropdown in PR files view and allow commit by commit review (#25528) 2 years ago
review_test.go Replace 'userxx' with 'orgxx' in all test files when the user type is org (#27052) 1 year ago
stopwatch.go Next round of `db.DefaultContext` refactor (#27089) 1 year ago
stopwatch_test.go Next round of `db.DefaultContext` refactor (#27089) 1 year ago
tracked_time.go Add context parameter to some database functions (#26055) 2 years ago
tracked_time_test.go Replace 'userxx' with 'orgxx' in all test files when the user type is org (#27052) 1 year ago