临时表还是永久表?

har*_*ork 5 sql sql-server sql-server-2008

对于我的公司,我正在重新设计一些存储过程.原始过程使用大量永久表,这些表在过程执行期间填充,最后删除值.行数可以从100行扩展到50,000行,以计算聚合.

我的问题是,如果我用临时表替换那些表会有严重的性能问题吗?使用临时表是否可行?

Jef*_*Pry 1

这取决于您使用它们的频率、处理需要多长时间以及您在写入时是否同时访问表中的数据。

如果您使用临时表,它在不使用时不会等待索引和缓存。所以它应该节省一点点资源。但是,您将产生临时表的开销(即创建和销毁)。

我会重新检查您的查询在过程中的功能,并考虑在过程中使用更多的 CURSOR 操作,而不是将所有内容加载到表中并删除它们。

然而,数据库用于存储信息和检索信息。我会避免使用永久表进行日常临时工作并坚持使用临时表。

整体性能不应对您在问题中指定的用例产生任何影响。

希望这可以帮助,

杰弗里·凯文·普赖