江天暮雪丨 2021-11-12 13:47 采纳率: 85.7%
浏览 35
已结题

复杂的逻辑应不应该写进 sql,请教一下

  1. 写一个复杂的 sql 直接取出所需要的数据
  2. 用简单 sql 取出所有相关数据,再遍历进行复杂的逻辑运算
    工作中,以上两种方法如何选择
  • 写回答

2条回答 默认 最新

  • 胖太乙 2021-11-12 13:55
    关注

    首先, 取出所有的数据是不可取的,如果表很大, 会造成长时间的索引等待,其次,在实际的环境中, 数据库和站点往往不在一台服务器上, 这也就意味着增加了数据传输的大小, 降低了传输效率。

    一般情况下,数据逻辑很复杂, 可以考虑存储过程去进行逻辑计算。如果查询出来的数据时效性不是高, 允许有时间差, 可以考虑将数据缓存到redis(设置一个容忍的过期时间), 提高效率。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月20日
  • 已采纳回答 11月12日
  • 创建了问题 11月12日