背景:在心的需求下,我要设计线设计指标考核系统作为报表和日常的监测的参考系统.
考核系统需求:
- 与日常数据的月数据和季度数据做计划与实际情况对比.
- 能够同期的数据做对比,计算出 增减比
分析需求:
- 通过月份来查询历史月份能耗指标数据.
- 通过季度来查询历史季度能耗指标数据.
- 通过年份来查询历史年份能耗指标数据.
背景知识:
对于字节类型的数据,应该慎用,因为:MySQL5.0以前,BIT只是TINYINT的同义词而已。但是在MySQL5.0以及之后的版本,BIT是一个完全不同的数据类型!它会存储为字节,然后会根据处理方式,经行转化成ascii 值,然后再对其呈现.
发现问题:
- 季度数据类型存储,
解决方案:
- 对于第一个问题,从数据类型的角度来经行分析,则为:
- 用字符型来经行对比,字符如20141Q,20142Q ,20143Q. 用这类字符经行对比,文字输出比较直观利于直接显示的数据.
- 用数值型来经行对比,数字如20141,20142,20143用这类数字经行对比,数字输出,有利于压缩和计算,但对于后期输出不利于呈现标示.
- 年份类型+用数字代码进行操作,字节如00000001,00000010,00000011,00000100 ,好处是运算速度最快,坏处是字节处理,结果会产生转化误差.
从显示,和计算的角度来分析第2种的方案是最好的解决方法,但也是折中处理.有了解决方案后,又是歇后语,难道没有更好的解决方案吗?
新的解决方案:
对年份和月份,季度的经行分开存储,会产生更大的效益.
该文的版权为我所有,在我未授权之下发布或转发都必追求责任.