Open n-miyamoto opened 11 months ago
わかりやすい N+1
var livestreamTagModels []*LivestreamTagModel if err := tx.SelectContext(ctx, &livestreamTagModels, "SELECT * FROM livestream_tags WHERE livestream_id = ?", livestreamModel.ID); err != nil { return Livestream{}, err } tags := make([]Tag, len(livestreamTagModels)) for i := range livestreamTagModels { tagModel := TagModel{} if err := tx.GetContext(ctx, &tagModel, "SELECT * FROM tags WHERE id = ?", livestreamTagModels[i].TagID); err != nil { return Livestream{}, err } tags[i] = Tag{ ID: tagModel.ID, Name: tagModel.Name, } }
わかりやすい N+1