【问题标题】:Fastest way to get group sums? [closed]获得团体总和的最快方法? [关闭]
【发布时间】:2013-05-24 15:58:08
【问题描述】:

我有以下表格:

  • 用户

    • users.id、users.uid、users.email、users.country、users.logincount、users.hits、users.month、users.year
  • 地区

    • regions.id,regions.name
  • 国家

    • country.id、country.name、country.regionsid

我想查看/报告按月份和地区分组的 users.hits 和 users.logincount。所以我会看到一个 2013 年 5 月的组,在它下面会列出 5-6 个区域,列出登录次数和点击次数。

现在我正在通过 PHP 查询执行此操作。在 MySQL 中设置视图是否更快?我该怎么做?

【问题讨论】:

  • sumgroup by
  • 构建速度更快不是问题。这是正确实施的问题。让 SQL 做数据库工作,让 PHP 做布局和呈现工作。
  • 创建视图很容易...创建一个查询,在视图中显示您想要的数据,然后添加 create view view_name as
  • 毫无疑问,对存储过程的调用性能更高。提供您当前的查询。

标签: php mysql reporting


【解决方案1】:

如果让mysql来做应该会更快。尝试类似

select users.month, regions.name, sum(users.hits), sum(users.logincount) 
from users join country on (users.country = country.id) 
           join regions on (country.regionsid = regions.id)
group by users.month, regions.id

【讨论】:

    猜你喜欢
    • 2010-09-14
    • 2016-03-26
    • 1970-01-01
    • 2015-06-25
    • 2016-09-27
    • 2011-05-21
    • 2014-11-30
    • 2019-11-14
    • 2011-09-24
    相关资源
    最近更新 更多