MM-45956: Optimize FileInfo stats query (#22603)
* MM-45956: Optimize FileInfo stats query We Denormalize Post.ChannelId on FileInfo.ChannelId ```release-note The file info stats query is now optimized by denormalizing the channelID column into the table itself. This will speed up the query to get the file count for a channel on clicking the RHS. Migration times: On a MySQL 8.0.31 DB with 1405 rows in FileInfo and 11M posts, it took around 0.3s On a Postgres 12.14 DB with 1731 rows in FileInfo and 11M posts, it took around 0.27s ``` https://mattermost.atlassian.net/browse/MM-45956
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
1edbde8aa3
Коммит
56b18ca7bf
@@ -274,6 +274,7 @@ func (a *App) getInfoForFilename(post *model.Post, teamID, channelID, userID, ol
|
||||
info.Id = model.NewId()
|
||||
info.CreatorId = post.UserId
|
||||
info.PostId = post.Id
|
||||
info.ChannelId = post.ChannelId
|
||||
info.CreateAt = post.CreateAt
|
||||
info.UpdateAt = post.UpdateAt
|
||||
info.Path = path
|
||||
@@ -1214,6 +1215,7 @@ func (a *App) CopyFileInfos(userID string, fileIDs []string) ([]string, *model.A
|
||||
fileInfo.CreateAt = now
|
||||
fileInfo.UpdateAt = now
|
||||
fileInfo.PostId = ""
|
||||
fileInfo.ChannelId = ""
|
||||
|
||||
if _, err := a.Srv().Store().FileInfo().Save(fileInfo); err != nil {
|
||||
var appErr *model.AppError
|
||||
|
||||
Ссылка в новой задаче
Block a user