mirror of
1
Fork 0
forgejo/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 Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
fixtures Remove wrongly added column on migration test fixtures (#23456) 2023-03-14 19:49:59 +08:00
v1_6 Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
v1_7 Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
v1_8 Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
v1_9 Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
v1_10 Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
v1_11 Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
v1_12 Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
v1_13 Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
v1_14 Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
v1_15 Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
v1_16 Replace deprecated `elliptic.Marshal` (#26800) 2023-08-29 22:19:40 +02:00
v1_17 Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
v1_18 Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
v1_19 Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
v1_20 Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
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