- 写一个复杂的 sql 直接取出所需要的数据
- 用简单 sql 取出所有相关数据,再遍历进行复杂的逻辑运算
工作中,以上两种方法如何选择
复杂的逻辑应不应该写进 sql,请教一下
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
胖太乙 2021-11-12 13:55关注首先, 取出所有的数据是不可取的,如果表很大, 会造成长时间的索引等待,其次,在实际的环境中, 数据库和站点往往不在一台服务器上, 这也就意味着增加了数据传输的大小, 降低了传输效率。
一般情况下,数据逻辑很复杂, 可以考虑存储过程去进行逻辑计算。如果查询出来的数据时效性不是高, 允许有时间差, 可以考虑将数据缓存到redis(设置一个容忍的过期时间), 提高效率。
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 2无用