Javascript 优化highstock sql上的加载时间

Javascript 优化highstock sql上的加载时间,javascript,php,jquery,mysql,highcharts,Javascript,Php,Jquery,Mysql,Highcharts,我正在使用highstock虚拟化存储在不断扩展的MySQL数据库中的一些天气数据。由于数据库越来越大,网站加载时间增加了很多。起初,我很高兴我有了highstock,因为我对JavaScript和PHP不太了解,但现在我正在寻找一种方法来提高加载时间 现在我用4个不同的系列来显示温度、湿度、亮度和土壤湿度。要导入数据,我将为每个系列使用一个php脚本,如最后的代码所示。我不知道如何只使用一个php脚本一次传递所有数据,也不知道这样是否可以节省时间。但显然,php脚本的运行时间最长,因为独立运行

我正在使用highstock虚拟化存储在不断扩展的MySQL数据库中的一些天气数据。由于数据库越来越大,网站加载时间增加了很多。起初,我很高兴我有了highstock,因为我对JavaScript和PHP不太了解,但现在我正在寻找一种方法来提高加载时间

现在我用4个不同的系列来显示温度、湿度、亮度和土壤湿度。要导入数据,我将为每个系列使用一个php脚本,如最后的代码所示。我不知道如何只使用一个php脚本一次传递所有数据,也不知道这样是否可以节省时间。但显然,php脚本的运行时间最长,因为独立运行它们需要一些时间

My index.html:(由于某些原因,原始文件中没有一些奇怪的空格/制表符)

sql_temperature.php:

if (date("I")) {$offset = 7200;} #Offset for daylight saving time
else {$offset = 3600;}

$pdo = new PDO('mysql:host=localhost;dbname=***', '***', '***');

$sql = "select UNIX_TIMESTAMP(Timestamp), Temperature from sensors";
foreach ($pdo->query($sql) as $row) {
   $datetime = ($row[0] + $offset) * 1000;
   $data[] = array((float)$datetime,(float) $row[1]);
}

echo json_encode($data);

因此,如果这里有任何需要优化的内容,请告诉我。

如果每次都将所有数据发送到客户端,则速度会非常慢。尝试寻找一种只向客户发送正确日期范围的方法。(如果他们更改了数据范围,则必须重新加载数据,但速度应该快得多。)或者如果您不需要旧数据,则只能通过在查询中添加where子句来发送特定日期范围的数据(即过去的x个月)。我发现了这个关于1700万点异步加载的示例,加载速度非常快。这是因为异步加载还是因为他们使用了非常强大的硬件?在这个php中,你可以看到他们在几分钟、几小时、几天和几个月内使用不同的表,这有点“作弊”。这样,最多可同时加载3000个点。这就是为什么它这么快的原因抱歉我忘了添加链接:如果你加载了超过3000个点,这听起来是个好的开始。还将按开始时间和结束时间进行过滤。如果您在实现时遇到问题,请随意用代码和您遇到的问题开始另一个问题。我们通常不会在StackOverflow上为人们实现一些东西,只是帮助他们修复实现中的一个bug,或者找到正确的函数来使用,我想你现在已经有了。如果你每次都将所有数据发送到客户端,那么会非常慢。尝试寻找一种只向客户发送正确日期范围的方法。(如果他们更改了数据范围,则必须重新加载数据,但速度应该快得多。)或者如果您不需要旧数据,则只能通过在查询中添加where子句来发送特定日期范围的数据(即过去的x个月)。我发现了这个关于1700万点异步加载的示例,加载速度非常快。这是因为异步加载还是因为他们使用了非常强大的硬件?在这个php中,你可以看到他们在几分钟、几小时、几天和几个月内使用不同的表,这有点“作弊”。这样,最多可同时加载3000个点。这就是为什么它这么快的原因抱歉我忘了添加链接:如果你加载了超过3000个点,这听起来是个好的开始。还将按开始时间和结束时间进行过滤。如果您在实现时遇到问题,请随意用代码和您遇到的问题开始另一个问题。我们通常不会在StackOverflow上为人们实现一些东西,只是帮助他们修复实现中的一个bug,或者找到正确的函数来使用,我想你现在已经有了。