1

我有一个带有 Postgresql 后端的 Web 应用程序。为了简单起见,假设它是一个带有 Web 服务器日志的表(实际上是表和引用的混合)。由于我的用户对该表中的不同数据有不同的需求,我正在考虑实现一个 Web 前端,他们可以在其中按需运行自己的报告(即启动后台作业来为他们运行它......有些查询可能很慢,因为实例子选择同一个表,聚合等)。

是否有实施此类自定义报告工具的最佳实践?

我正在考虑以下情况作为可能的解决方案:

  • 用户构建查询并选择他/她想要的字段,该字段被翻译成 SQL 查询
  • SQL 将查询结果选择到一个名为“report_randomname479472984”的新表中,该表作为后台作业运行,甚至可能将表名添加到包含有关报告的一些元信息的报告表中。
  • Web 界面列出所有名称以“report_”开头的表作为可用报告或查询有关可用报告表的元信息表。
  • 当用户显示报告时,网页将构建为 html 表,其中数据库中的每个可用列都是 html 表中的列

这是从 SQL 后端创建动态按需报告的一种不错的方法吗?执行此操作时我需要注意什么(SQL 注入除外)?

有什么方法可以强制元表的完整性,以便每个 report_ 始终存在一行,并且元表中的所有行实际上都指向一个有效的 report_表?

4

1 回答 1

3

恕我直言,您应该做的第一件事 - 搜索报告构建、日志处理、OLAP 等现有解决方案......

他们有很多。免费和付费。我敢打赌,你会找到一个适合你的任务的。

它将为您节省大量时间并为您的客户提供高质量的解决方案。

于 2012-11-22T18:42:58.433 回答