mysql 季度数据类型探讨

背景:在心的需求下,我要设计线设计指标考核系统作为报表和日常的监测的参考系统.

考核系统需求:

  •  与日常数据的月数据和季度数据做计划与实际情况对比.
  •  能够同期的数据做对比,计算出 增减比

分析需求:

  • 通过月份来查询历史月份能耗指标数据.
  • 通过季度来查询历史季度能耗指标数据.
  • 通过年份来查询历史年份能耗指标数据.

背景知识:

对于字节类型的数据,应该慎用,因为:MySQL5.0以前,BIT只是TINYINT的同义词而已。但是在MySQL5.0以及之后的版本,BIT是一个完全不同的数据类型!它会存储为字节,然后会根据处理方式,经行转化成ascii 值,然后再对其呈现.

发现问题:

  1. 季度数据类型存储,

解决方案:

  • 对于第一个问题,从数据类型的角度来经行分析,则为:
  1. 用字符型来经行对比,字符如20141Q,20142Q ,20143Q. 用这类字符经行对比,文字输出比较直观利于直接显示的数据.
  2. 用数值型来经行对比,数字如20141,20142,20143用这类数字经行对比,数字输出,有利于压缩和计算,但对于后期输出不利于呈现标示.
  3. 年份类型+用数字代码进行操作,字节如00000001,00000010,00000011,00000100 ,好处是运算速度最快,坏处是字节处理,结果会产生转化误差.

从显示,和计算的角度来分析第2种的方案是最好的解决方法,但也是折中处理.有了解决方案后,又是歇后语,难道没有更好的解决方案吗?

新的解决方案:

对年份和月份,季度的经行分开存储,会产生更大的效益. 


该文的版权为我所有,在我未授权之下发布或转发都必追求责任.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值