perf: 优化故事项查询性能并调整字段映射
All checks were successful
test/timeline-server/pipeline/head This commit looks good
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:
@@ -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<>();
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user