syf的开发笔记-3

这两天一直在优化一个sql

这个功能是要展示出一些任务信息

核心问题在于任务和项目组是一个一对多的关系

项目组和项目的关系join进来之后

每个任务就会查出来多条了

然后分页逻辑就错了

所以这里的解决方法是

先按限制条件group by出来这一页要有哪些任务

然后对于这些任务再按这些条件查找一次 并筛选出相应字段

这样就把一个大问题简化成了只有几十个任务的小问题

对于这几十个任务 还是要查出来这些任务所属项目的项目组

一种方案是用group成string的方式 我觉得不太好就没用

另一种就是查出每个项目对应的项目组

在代码中处理成List之后 appand回返回的数据中

感觉说的还是有点乱

但核心思想还是很简单的

一个复杂的sql最好要拆解成更小的任务去解决

要不表join太多太慢

也可能出现一些冗余数据不好处理

虽然一个小的功能写了这么久 但还是很有意思的

猜你喜欢

转载自www.cnblogs.com/general10/p/12194165.html