cpdw840624 2010-09-16 14:24
浏览 231
已采纳

关于数据库查询的一点疑惑

今天看到有同事写统计查询的sql语句,大概是这样写的
select type,sum(c1),sum(c2)
group by type
union all
select '汇总',sum(c1),sum(c2)

我就想会不会有这种情况发生:假设在执行过程中数据发生了变化,有没有可能导致汇总的数据并不等于上面各分项的和?

  • 写回答

1条回答 默认 最新

  • 关键词㏄ 2010-09-16 15:07
    关注

    不会,数据库都会有一致性的设计。即使期间数据发生变化了,回做表空间里面还是存着变化前的值,会取到你语句执行的开始时间时的数据。如果你UNION上面的语句确实执行了非常长的时间,造成你回做表空间里面的结果甚至都被清掉,那么数据库会报错。也就是说,数据库宁肯报错,也要保证数据的一致性。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题