一个页面执行太多查询SQL .怎么优化

阿里帽子 2019-12-05 05:59:37
类似论坛的贴

每个楼 都有头像 信息 然后还有评论数 还有其他各种的信息 我保存的是用户ID.

如果有100楼。。我就要执行100次单独查询用户的头像信息 然后 还要查询100次 每个人评论的总数量。。如果加上 各种奇怪的。。

等于一个页面我要执行 几百次?》?

比如,在一个论坛系统中
1.使用shiro,判断token要一次请求(从token表中获取)

2.获取用户名称、头像列表(从用户表中获取)

3.获取帖子标题、分类(从帖子表、分类表中获取)

4.获取帖子评论的个数(从评论表中获取)

5.获取帖子获得收藏的个数(从用户的收藏表中获取)


求思考 做了好几年程序员了 小白一个
...全文
199 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不会联合查询?
极客诗人 2019-12-05
  • 打赏
  • 举报
回复
建议 好好学sql 了解子查询
ying1234 2019-12-05
  • 打赏
  • 举报
回复
怎么可能100个请求呢?你不会是每一条评论都搜一次数据库吧?你把这个帖子里的评论一下子都找出来(多级评论类似有个树型的结构parentid,表示回复哪个的),到程序端再在内存里搜吧,评论太多的话分页加载,或是滚动加载,点击查看更多加载,本质都是分页。评论个数,收藏个数需要那么精确的数字吗?完全可以两个字段,个数在评论成功,收藏成功后+1,而用不着实现去count()算出来。

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧