Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用MySQL表进行实时计算_Mysql - Fatal编程技术网

使用MySQL表进行实时计算

使用MySQL表进行实时计算,mysql,Mysql,我在MySQL中有两个表,它们都带有时间序列,如: 表1 “时间”“打开”“高”“低”“关闭” “2014.01.15 00:20”“1244.25”“1244.28”“1243.88”“1243.91” “2014.01.15 00:15”“1244.24”“1244.36”“1244.16”“1244.22” “2014.01.15 00:10”“1244.62”“1244.63”“1244.16”“1244.21” 表2 “时间”“打开”“高”“低”“关闭” “2014.01.15 00

我在MySQL中有两个表,它们都带有时间序列,如:

  • 表1
  • “时间”“打开”“高”“低”“关闭”
  • “2014.01.15 00:20”“1244.25”“1244.28”“1243.88”“1243.91”
  • “2014.01.15 00:15”“1244.24”“1244.36”“1244.16”“1244.22”
  • “2014.01.15 00:10”“1244.62”“1244.63”“1244.16”“1244.21”

  • 表2

  • “时间”“打开”“高”“低”“关闭”
  • “2014.01.15 00:20”“27.378”“27.378”“27.377”“27.378”
  • “2014.01.15 00:15”“27.379”“27.379”“27.377”“27.377”
  • “2014.01.15 00:10”“27.378”“27.378”“27.377”“27.378”
现在,我需要创建第三个表,它将通过乘以相关值来创建

  • “2014.01.15 00:20”1244.25*27.378 1244.28*27.378 1243.88*27.377 1243.91*27.378
到目前为止,这应该不难,但问题是这两个表几乎都是实时更新的——每几秒钟更新一次。当然不是整张桌子,而是最近的一排

现在,我如何将两个原始表相乘,并创建一个新的表,该表也会以这样的频率自动更新—每隔几秒钟一次

你有什么建议?使用cron,还是

顺便说一句-对不起,不是IT人员。需要找到一个通用的解决方案如何做到这一点


谢谢。

您的第三个表完全来自前两个表,因此您可以将其实现为查询或视图

 SELECT a.open*b.open AS open,
        a.high*b.high AS high,
        a.low *b.low  AS low,
        a.close*b.close AS close
   FROM table1 AS a
   JOIN table2 AS b ON a.time = b.time
从您的问题中不清楚为什么需要一个包含实际数据的单独表

编辑

将索引放在两个表的
time
列上

如果只想检索(比如)过去24小时内的行,请使用

 WHERE a.time >= NOW() - INTERVAL 1 DAY

有没有一个令人信服的原因可以解释为什么不能将两个表合并成一个表,然后在更新行时只在表中执行计算?也许可以使用triggersPlease将问题适当地格式化视图-php将访问新表,并在web上显示它。我认为在生成新表时计算一次比每次在web上显示时计算一次要好。所有的表都相当大,有数千行。最后一个几乎每秒更新一次。新表将被php访问并显示在网站上——整个表。出于加载的原因,我认为在创建新表时进行一次计算比在web上为每个用户显示新表时进行一次计算更好。