我有一个数据表,里面记录的是从1999年到现在所有股票的数据,表结构
stockId char(10),
txndt char(8),
open double,
high double,
low double,
close double,
count long,
txnAt double
如何根据这些数据计算5日均值,10日均值等数据?
最主要是如何优化处理的速度?望高手支招

解决方案 »

  1.   

    这个需求并没有什么好方法。 由于5日均值,10日均值基本上是不会再变化的历史值,一般的系统中都是专门生成相关数据以供查询,而不是每次都用SQL语句再来实现。
      

  2.   

    仅从学习的角度来看,则添加索引如下 (假设是求txnAt的均值)select a.股票代码,avg(b.txnAt) as 5日均值
    from 有一个数据表 a,有一个数据表 b
    where a.股票代码=b.股票代码
    b.日期 between a.日期-interval 4 day and a.日期
    group by a.股票代码并创建索引 (股票代码,日期) 的复合索引