iteye_21221
iteye_21221
2010-10-22 16:28

解决同样问题,sql语句是用复杂而少量的好,还是简单多句的好

已采纳

项目上要做一个定时任务,每10分钟执行一次,现在有两种意见,一种是使用复合查询语句,执行次数为n,但sql中包含in运算符;另一种是用简单查询,执行次数大概为5n(因为通过业务逻辑可以优化执行次数),并且每次只是做最简单的查询,这里面n最大不超过1000,并且这个任务对时间性能要求不高(也就是说延迟1、2分钟没人在意)开发人员想用第一种方法,部分原因是他比较喜欢复杂的sql语句;但我倾向于第二种方法,因为我们的数据库压力比较大,in运算可能带来意想不到的问题,另一个原因是代码好维护。现在想听听大家的意见。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • oyj7454103 oyj7454103 11年前

    [quote]开发人员还有一个理由就是数据库连接释放的问题,采用我的方法会比他的方法多“连接/释放”4n次,我们的应用服务器压力也很大,但我觉得这4n次是依次执行,应该不是太大问题,不过还是想问问。 [/quote]

    是的! 数据库的链接是比较好资源的!
    但是 n<1000 这个级别的 请放心 没问题的!
    从效率 和 资源上讲没什么大的区别
    我主要考虑的是 复杂的SQL 维护问题!
    他走了 谁给他收拾摊子呢?

    点赞 评论 复制链接分享
  • oyj7454103 oyj7454103 11年前

    [quote]但我倾向于第二种方法,因为我们的数据库压力比较大,in运算可能带来意想不到的问题,另一个原因是代码好维护[/quote]

    已经可以了! :idea: 你的想法就是真理 呵呵

    维护 复杂的sql 是很头疼的!

    点赞 评论 复制链接分享