我目前正在使用以下 HighCharts:HighStock:Charts: http://www.highcharts.com/stock/demo/data-grouping以显示从服务器返回的数据。
我们从 MySQL 数据库中检索数据,而且非常大。我们每 1 秒存储一次传感器指标。一段时间后,我们收到以下错误:
[Wed Sep 12 00:15:56 2012] [error] [client 127.0.0.1] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4756882 bytes) in C:\\wamp\\www\\admin\\getTrends.php on line 156, referer: http://localhost/admin/trends.php
[Wed Sep 12 00:15:56 2012] [error] [client 127.0.0.1] PHP Stack trace:, referer: http://localhost/admin/trends.php
[Wed Sep 12 00:15:56 2012] [error] [client 127.0.0.1] PHP 1. {main}() C:\\wamp\\www\\admin\\getTrends.php:0, referer: http://localhost/admin/trends.php
[Wed Sep 12 00:15:56 2012] [error] [client 127.0.0.1] PHP 2. getTrendsDataAI() C:\\wamp\\www\\admin\\getTrends.php:33, referer: http://localhost/admin/trends.php
[Wed Sep 12 00:15:56 2012] [error] [client 127.0.0.1] PHP 3. printResults() C:\\wamp\\www\\admin\\getTrends.php:102, referer: http://localhost/admin/trends.php
[Wed Sep 12 00:15:56 2012] [error] [client 127.0.0.1] PHP 4. createData() C:\\wamp\\www\\admin\\getTrends.php:230, referer: http://localhost/admin/trends.php
[Wed Sep 12 00:15:56 2012] [error] [client 127.0.0.1] PHP 5. implode() C:\\wamp\\www\\admin\\getTrends.php:156, referer: http://localhost/admin/trends.php
将此数据作为 JSON 对象返回到 HighStocks 以供查看的最佳解决方案是什么?我们如何克服 PHP 的限制?我们每次都返回一大块数据吗?他们通常如何向用户展示大量数据并根据这些数据创建图表和报告?我们需要克服的另一个大问题是返回的 JSON 对象非常庞大。此时大约为 20-30 mbs,将来会更大。可以将此数据返回给用户并在客户端执行所有操作吗?
欢迎任何建议或想法。