来自MSSQL数据库的异步信息

时间:2014-07-24 12:03:37

标签: python sql sql-server pyodbc

我有一个python网页,它使用pyodbc从MSSQL数据库中提取信息。

然而,这是有效的,因为一些运行的查询非常繁重。网页可能需要20-30秒才能加载。

我想解决这个问题,每15-30分钟运行一次所有查询的最佳方法是将本地数据存储在服务器上还是本地存储并将数据存入网页,而不是在页面加载时重新运行查询

我希望网页能够以相对较快的方式访问数据,因此访问网页最多只需1-2秒。

redis非常快,但并不适合,因为它太简单了。键值对 我真正需要的最先进的是一个有几行和一些列(总是小于10)的表。

是否有一种相对快速的方式在本地存储此类数据?

1 个答案:

答案 0 :(得分:1)

创建大型报告时遇到过这种情况。没有人会等待30秒的查询,即使它可以追溯到超过15年的销售数据。

您有几个选择:

  1. 在SQL Server代理中创建SQL作业,以运行运行查询并保存到表的存储过程。 (这就是我所做的)
  2. 使用计划任务运行查询并将其保存到另一个表。我认为python可以在Windows机器上驱动它,但我自己从未使用它。我会在.NET中完成。
  3. 有时创建视图足以提升性能,但取决于您的数据和数据库设置。另外,检查是否有任何索引或其他常见的性能提升。
  4. 我真的认为#1优雅,简单,并且在数据库中保留所有工作。