如何使报告生成更快?(从 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 数据库中提取数据)的主要内容,如果未能解决你的问题,请参考以下文章