如何使报告生成更快?(从 sql 数据库中提取数据)

Posted

技术标签:

【中文标题】如何使报告生成更快?(从 sql 数据库中提取数据)【英文标题】:how to make report generate faster ?( data pull out from a sql database) 【发布时间】:2012-08-08 07:23:16 【问题描述】:

我的团队使用 SQL 数据库生成“每日活跃用户”报告 我们搜索的表的大小是大约 700 万条记录,我们尽力而为 优化我们的算法,并将索引放在 SQL db 上,但仍然需要 120 秒 每个每日报告生成。

有什么方法可以让它更快?

任何人可以推荐我可以搜索的任何字段/关键字/书籍/论坛?


详细信息

查询定义:

对于连续 7 天登录的用户,我们将其计为“活跃用户” 在 7 天结束时

表格:login_in

记录登录、注销时间、账号ID的基本信息

编程语言:带有seam框架的java

SQL 数据库:MySQL


提前多谢!!

【问题讨论】:

有很多方法可以优化查询 - 但您必须发布更多关于您当前如何执行此操作的详细信息;在任何人都可以回答之前所涉及的表和正在使用的 SQL 感谢您的帮助,我尝试添加一些细节,希望对您有所帮助! 【参考方案1】:

第一步是对驱动报告的查询执行EXPLAIN。这可以提供关于查询的哪个部分很慢的线索。您要确保查询的所有部分都被索引覆盖,而不是全表访问。

请参阅EXPLAIN 的文档

【讨论】:

以上是关于如何使报告生成更快?(从 sql 数据库中提取数据)的主要内容,如果未能解决你的问题,请参考以下文章

SQL查询性能调优--如何使查询更快

如何使用 PL SQL 函数从 xmltype 数据生成 xml 报告

提取oracle awr报告

如何使具有多个联合的 SQL 更快以实现高速

如何从 SQL Server 表中提取第二高的产品使用率?

优化 sql 查询如何使其更快