gpt4 book ai didi

mysql - 正确使用存储过程动态创建图表吗?

转载 作者:行者123 更新时间:2023-11-29 23:46:35 26 4
gpt4 key购买 nike

我正在 Rails 中工作,希望将动态图表添加到我的应用程序中。我的想法是,鉴于数据位于平面文件中,可以在 MySQL 数据库中创建一个存储过程,以根据用户希望看到的参数查询数据,即。按用户进行的事件(y 轴)和一年中的月份(x 轴)对用户和分组进行求和。然后将从 Rails 调用存储过程并返回要构建到图表中的结果。

但是,值得注意的是,存储过程速度很慢,因此如果加载时间很长才能简单地呈现图表,则可能会影响用户体验。

我想做的事情是继续前进的最佳方式吗?

最佳答案

stored procedures are slow

必须注意的是,存储过程方法不会花费时间在 SQL Server 和 Rails 之间来回遍历数据,反之亦然,因此实际上存储过程的执行速度应该比传统方法快得多一堆 ActiveRecord 查询。

may kill the user experience if there are long loading times

根据加载时间和用户查询的情况,有多种方法可以改善用户体验:

  1. 您可以使用一些占位文本(例如“正在生成数据,请稍候”)渲染页面,并使用 AJAX 或服务器端事件等技术稍后显示分析查询的结果。可以使用 Delayed Job 在后台处理报告生成或Sidekiq 。还可以显示进度条之类的内容,让用户知道他的请求没有被放弃。

  2. 您可以利用缓存常见查询的数据,以便每个查询偶尔执行一次。可以根据图表的相关程度选择不同的缓存周期(例如每小时或每天更新一次缓存的统计信息)。看看rails caching手册页。

  3. 您还可以对一些数据挖掘研究感兴趣,例如多维online analytical processing方法。使用 OLAP 多维数据集表示数据的方式稍微难以理解,但可以通过多维数据分析的可能性来改善用户体验。

关于mysql - 正确使用存储过程动态创建图表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25901688/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com