快速执行analitycs数据库与千行显示在PHP中

时间:2015-08-27 07:41:30

标签: mysql database-design php

我有一千行的表,我想用图表显示创建analitycs我的前端php

我的表结构是

Database Structure

以及我如何显示这些数据: Display in my dashboard

by user_agent列i显示操作系统,浏览器和设备。

现在我仍然使用旧算法循环使用for ()方法并解析每一行。并且需要很长时间来响应并显示数据。

任何人都知道如何在我的网站上不长时间回复显示这些数据?任何的想法?使用数据库结构还是我的php脚本?

谢谢你。

1 个答案:

答案 0 :(得分:0)

假设您在PHP脚本中加载所有数据并在PHP中以for循环对其进行后处理,则应更改数据库查询。 GROUP BY语句可能有所帮助。当然,您需要更改脚本以使用新数据。重新审视数据库结构也是一个好主意。更好的方法可能不是将整个用户代理字符串保存在一列中,而是使用多个列。

之前的例子:

$data = $db->query('SELECT * FROM table');
for ($i = 0; $i <= $data->max(); i++) {
  $row = $data->getRow($i);
  postprocessRow($row); /* $sum += 1; */
}

之后的例子:

$data = $db->query('SELECT count(*) as weight, * FROM table GROUP BY user_agent');
for ($i = 0; $i <= $data->max(); i++) {
  $row = $data->getRow($i);
  postprocessRowWeighted($row); /* $sum += $row['weight']; */
}