perf: 优化故事项查询性能并调整字段映射
All checks were successful
test/timeline-server/pipeline/head This commit looks good

删除 Service 层循环查询图片的逻辑,改为通过 SQL 关联或后续批量处理以减少数据库 IO 开销。同时在 Mapper 中完善字段选择,增加 id、type、status 等必要字段,并移除冗余的 update_time。
This commit is contained in:
2026-02-11 17:09:45 +08:00
parent 120d784345
commit d405d84dfe
2 changed files with 7 additions and 13 deletions

View File

@@ -40,15 +40,6 @@ public class StoryItemServiceImpl implements StoryItemService {
} }
List<StoryItemVo> list = storyItemMapper.selectStoryItemByStoryInstanceId(params); List<StoryItemVo> list = storyItemMapper.selectStoryItemByStoryInstanceId(params);
// 填充图片信息
if (list != null && !list.isEmpty()) {
for (StoryItemVo item : list) {
List<String> images = storyItemMapper.selectImagesByItemId(item.getInstanceId());
item.setImages(images);
}
}
PageInfo<StoryItemVo> pageInfo = new PageInfo<>(list); PageInfo<StoryItemVo> pageInfo = new PageInfo<>(list);
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();

View File

@@ -41,16 +41,19 @@
</select> </select>
<select id="selectStoryItemByStoryInstanceId" resultType="com.timeline.story.vo.StoryItemVo"> <select id="selectStoryItemByStoryInstanceId" resultType="com.timeline.story.vo.StoryItemVo">
SELECT SELECT
instance_id, si.id,
si.instance_id,
si.description, si.description,
si.location, si.location,
title, si.title,
story_instance_id, si.story_instance_id,
si.master_item_id, si.master_item_id,
si.share_id, si.share_id,
si.cover, si.cover,
si.type,
si.status,
si.is_delete,
si.story_item_time as story_item_time, si.story_item_time as story_item_time,
si.update_time,
si.create_id AS create_id, si.create_id AS create_id,
si.create_time AS create_time, si.create_time AS create_time,
u1.username AS create_name, u1.username AS create_name,