gpt4 book ai didi

sql-server - 在 sql server 中创建、使用和删除临时表的首选方法是什么?

转载 作者:行者123 更新时间:2023-12-02 00:17:57 27 4
gpt4 key购买 nike

在 SQL Server 存储过程中使用临时表时,首选做法是;

1) 创建临时表,填充它,使用它然后删除它

CREATE TABLE #MyTable ( ... )

-- Do stuff

DROP TABLE #MyTable

2) 检查是否存在,存在则丢弃,然后创建并使用

IF object_id('tempdb..#MyTable') IS NOT NULL
DROP TABLE #MyTable

CREATE TABLE #MyTable ( ... )

3) 创建它并让 SQL Server 在它超出范围时清理它

CREATE TABLE #MyTable ( ... )

-- Do Stuff

我读入了this answer及其相关注释,这在重用临时表的情况下很有用,因为 SQL Server 将截断表但保留结构以节省时间。

我的存储过程可能会被频繁调用,但它只包含几列,所以我不知道这对我的情况有多大好处。

最佳答案

您可以测试并查看一种方法是否优于另一种方法在您的场景中。我听说过这种重用的好处,但我自己没有进行过任何广泛的测试。 (我的直觉是明确删除我创建的任何#temp 对象。)

在单个存储过程中,您永远不必检查表是否存在 - 除非也有可能从另一个可能创建了同名表的过程调用该过程。这就是为什么最好以有意义的方式命名#temp 表而不是使用#t、#x、#y 等的原因。

关于sql-server - 在 sql server 中创建、使用和删除临时表的首选方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12302648/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com