我可以缓存/保存昂贵的SQL查询一周吗?

时间:2016-06-13 08:13:13

标签: python sql

我有一个非常大的数据库,有5000万条记录。一世 我有一些非常昂贵的查询,我想为深入统计目的运行。这些查询会降低服务器/数据库的速度。所以我不想多次运行它们 - 我想在星期天晚上运行它们并存储本周的结果。

我不想将所有相关字段的数据编入索引,因为这需要很长时间,并且需要重新完成,因为我每隔几周就会吹掉数据库。

是否有任何软件/工具/实践可以在无限期的时间内保存昂贵查询的结果。 我的currnet思考方法是进行一次查询并将结果写入数据库中名为“stats”的新表。 我正在使用python。

1 个答案:

答案 0 :(得分:0)

我使用job agent附带的SQL Server Management Studio用于类似目的。如果您的数据库不是SQL Server,您可以在管理工作室中将其添加为linked server,并通过openquery命令运行查询。您可以在工作中设置详细的时间表,电子邮件/短信警报等。

要将输出保存到磁盘,您可以在作业步骤中使用类似于this的命令:

EXEC master.xp_cmdshell'SQLCMD -S server \ SQLSERVERDEV2005 -E -Q“SELECT TOP 10 * FROM pubs.dbo.authors”-b -o c:\ myoutput.txt',no_output