gitea/models/migrations
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
..
base
fixtures
v1_6
v1_7
v1_8
v1_9
v1_10
v1_11
v1_12
v1_13
v1_14
v1_15
v1_16
v1_17 Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
v1_18
v1_19
v1_20
v1_21 Add index to `issue_user.issue_id` (#27154) (#27158) 2023-09-21 11:42:34 +08:00
migrations.go Add index to `issue_user.issue_id` (#27154) (#27158) 2023-09-21 11:42:34 +08:00