用于构建仪表板的多个 mysql 查询
Posted
技术标签:
【中文标题】用于构建仪表板的多个 mysql 查询【英文标题】:Multiple mysql queries for building dashboard 【发布时间】:2019-11-23 08:04:44 【问题描述】:我正在开发一个 php 仪表板,其中包含来自许多不同 mysql 表的统计信息。构建图表等需要许多累积和其他总计。一些查询可能非常简单,而另一些则一次连接和比较多个表。
为了正确地做到这一点,我正在考虑 3 种方法;
1) 创建一个主表,该表在每次前端(网站)和后端 (CRM) 交互后不断更新,并且仅包含用于不同目的的总计。因此,可以通过用于构建主仪表板的简单选择语句轻松访问数据。
2) 每次生成仪表板时使用许多和/或复杂的查询。这将花费更少的开发时间但更多的加载时间。也许有更好的方法来管理每个查询的顺序和执行。
3) 创建 cron 作业以在后台更新总数。这是我最不喜欢的方法,因为出于多种原因感觉已经过时了。
有人可以给我建议并解释什么是长期的最佳方法吗?
提前致谢。
弗雷德。
【问题讨论】:
你考虑过 MySQL Workbench 吗?它是免费下载且不收费的,并且内置了仪表板显示。 你好威尔逊。谢谢你的提示。我会调查的。 【参考方案1】:首先,没有“正确的方法”,只有一种能满足您的需求 在满足您的需求时,必须考虑两件事:
-
您的业务需求(实时、每日更新等)
代码维护的可扩展性
根据您的情况,我会结合这些选项。 首先,我会创建一个带有专用数据库的专用数据库,这对性能和历史数据保存都有好处(如果您采用第二种方法,这可能会改变)
在这种情况下,是在线更新仪表板还是通过 cron 作业更新仪表板的问题:非常依赖于业务需求。我认为cron工作更好 首先,in 是可扩展的——你将来可以放弃它,只更新仪表板...... 其次,您可以安排它在“慢速”期间运行,以防止生产服务器超载。不同的 cron 作业可以以不同的频率更新不同的表等。
这当然是我的看法。跳它有帮助
【讨论】:
嗨,伙计。非常感谢您花时间回答我的问题。我认为你是对的。主仪表板的大部分数据可以在缓慢的时间使用 cron 作业每天更新。一个专门的历史数据数据库将是要走的路。再次感谢。以上是关于用于构建仪表板的多个 mysql 查询的主要内容,如果未能解决你的问题,请参考以下文章
基于 Web 的商业智能工具,使用 dc.js 或 olap 用于 Web 应用程序仪表板
html Google Charts仪表板设置,其中多个数据表用于为单个“逻辑”仪表板供电。
将 tailwind css 构建为公共站点并将 vuetify 构建为管理仪表板