> 데이터 베이스 > MySQL 튜토리얼 > mysql一个时区引发的问题_MySQL

mysql一个时区引发的问题_MySQL

WBOY
풀어 주다: 2016-06-01 13:41:52
원래의
897명이 탐색했습니다.

bitsCN.com mysql一个时区引发的问题 近期有客户反馈了一个问题,在使用ERP 2BizBox的过程中,发现如下问题: 在查看财务模块的报表损益表的时候,修改时间参数,损益报表的数据没有改变。
mysql一个时区引发的问题_MySQL
 经过多方查证,最终发现2BizBox 本身的查询并没有问题,而是由于客户修改了系统的默认时区导致的。 具体是什么问题,请听我细细道来:   2BizBox在处理损益表的查询的时候,由于涉及到了多个表的查询,应该算是一个比较重的查询,所以会首先从多个表里面把数据查询下来,并缓存在一个临时表里面;这样下次在查询的时候,会有一个查询时间间隔的判断,如果本次的查询时间比上一次查询的时间大的数值间隔小于3秒,就会从临时表里面直接取出数据,这样处理是为了防止同一个用户同时多次查询,给系统造成负担。上一次的查询时间保存在数据库的,本次查询时间就是系统的当前时间,这样在正常的系统是可以稳定的执行的。那么如果服务器操作系统与数据的时区设置不一致的时候,就会有可能导致本次查询的时间反而小于上次查询时间,应此就会从临时表里面去取数据,而不会更新临时表的数据。 比如数据库的时区是CST(UTC -6 hours),操作系统时区:CDT(UTC -5 hours),这样就会导致系统的时间数据库的时间一个小时。这样如果在一次查询之后,在改变查询参数的时候,如果相隔的时间在一个小时之类,都不会更新数据,所以就出现了改变查询参数而报表数据不变的情况。 解决的方法当然就很简单:把mysql的时区和系统时区调整成一致。  作者 netcy bitsCN.com

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿