设为首页 加入收藏

TOP

mysql一个时区引发的问题
2014-11-24 08:14:02 来源: 作者: 【 】 浏览:1
Tags:mysql 一个时区 引发 问题
mysql一个时区引发的问题
近期有客户反馈了一个问题,在使用ERP 2BizBox的过程中,发现如下问题:
在查看财务模块的报表损益表的时候,修改时间参数,损益报表的数据没有改变。


经过多方查证,最终发现2BizBox 本身的查询并没有问题,而是由于客户修改了系统的默认时区导致的。
具体是什么问题,请听我细细道来:
www.2cto.com
2BizBox在处理损益表的查询的时候,由于涉及到了多个表的查询,应该算是一个比较重的查询,所以会首先从多个表里面把数据查询下来,并缓存在一个临时表里面;这样下次在查询的时候,会有一个查询时间间隔的判断,如果本次的查询时间比上一次查询的时间大的数值间隔小于3秒,就会从临时表里面直接取出数据,这样处理是为了防止同一个用户同时多次查询,给系统造成负担。上一次的查询时间保存在 数据库的,本次查询时间就是系统的当前时间,这样在正常的系统是可以稳定的执行的。那么如果服务器操作系统与数据的时区设置不一致的时候,就会有可能导致本次查询的时间反而小于上次查询时间,应此就会从临时表里面去取数据,而不会更新临时表的数据。
比如数据库的时区是CST(UTC -6 hours),操作系统时区:CDT(UTC -5 hours),这样就会导致系统的时间数据库的时间一个小时。这样如果在一次查询之后,在改变查询参数的时候,如果相隔的时间在一个小时之类,都不会更新数据,所以就出现了改变查询参数而报表数据不变的情况。
解决的方法当然就很简单:把 mysql的时区和 系统时区调整成一致。
作者 netcy
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇mysql prompt一个很好用的命令 下一篇MSServer中varchar与nvarchar的区..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·MySQL 基础入门视频 (2025-12-26 23:20:22)
·小白入门:MySQL超详 (2025-12-26 23:20:19)
·关于 MySQL 数据库学 (2025-12-26 23:20:16)
·SOLVED: Ubuntu 24.0 (2025-12-26 22:51:53)
·Linux 常用命令最全 (2025-12-26 22:51:50)