创建存档 - 每次保存结果或请求结果?

时间:2014-08-09 20:01:13

标签: python html database

我正在开发一个项目,允许用户输入带有参数的SQL查询,SQL查询将在他们决定的一段时间内执行(例如每2个小时执行6个月),然后将结果返回给他们电子邮件地址。

他们会以HTML电子邮件的形式获取它,因此系统基本上做的是运行查询,然后生成HTML然后发送给用户。

我还希望保存这些结果,以便用户可以访问我们的网站并查看以前的结果。

我的问题是 - 我可以保存哪些数据?

  1. 我是否使用这些参数保存SQL查询(即日期参数,以便他可以看到与该特定日期相关的结果)。这意味着当用户点击此特定结果时,我需要再次执行查询。

  2. 保存当时生成的HTML,并在用户希望看到此结果时显示它?

  3. 如果有人能解释每种解决方案的优缺点,我会很感激,哪一种被认为是最好的解决方案。效率最高。

    存档可能会有1-2个月的历史,我无法真正预测每个查询将返回的行数。

    谢谢!

3 个答案:

答案 0 :(得分:1)

如果我要创建这种类型的应用程序,那么

  1. 根据我的应用程序,我会根据当前日期,当前时间,日期范围,时间范围等来查找一些常见查询。

  2. 常见关键字的一些自动填充。

  3. 如果数据经常更改,则无法保存html,生成新的数据是不错的选择

答案 1 :(得分:1)

特别是关于从之前运行的查询中检索结果,我建议保存结果以便以后查看,而不是一次又一次地运行查询。这种方法的主要好处是:

  • 您可以节省重复运行相同查询的不必要的计算工作;
  • 您保证结果集与原始报告相同。例如,如果只保存SQL,那么自上次运行查询以来可能已更改查询的记录,或者可能已添加/删除了记录。

这种方法的缺点是它可能会占用更多的磁盘空间,但除非你的查询返回数百万行,否则这不太可能是一个问题(在这种情况下,html可能不是一个好主意)。 / p>

答案 2 :(得分:1)

关键的区别在于,如果数据发生变化,新查询将返回与之前保存的结果不同的结果,因此您必须确定用户是否应获取最新数据或数据所用内容的快照是

如果相关数据没有变化,则问题是查询是否昂贵,有多少用户将运行它们以及频率,然后您可能决定保存它们而不是重新运行查询,以提高性能。 / p>