问题标签 [table-variable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - SQL Server 中的临时表和表变量有什么区别?
在 SQL Server 2005 中,我们可以通过以下两种方式之一创建临时表:
或者
这两者有什么区别?关于@tmp 是否仍然使用 tempdb,或者一切都发生在内存中,我已经阅读了相互矛盾的意见。
在哪些情况下,其中一种表现优于另一种?
sql-server - 如何为 T-SQL 表变量中的标识列重新设定种子?
我有一个 T-SQL表变量(不是表),它有一个自动递增的标识列。我想清除该变量中的所有数据并将标识列值重置为 1。如何做到这一点?
sql-server - TSQL 定义临时表(或表变量)而不定义模式?
有没有办法在不预先定义它的模式的情况下定义一个临时表?
tsql - 使用左连接和表变量删除
也许我缺少一个括号或其他东西,但我很难从我要加入的表变量中删除行并寻找我要加入的键。如果它有价值,那么我就摆脱它。问题是我无法解析查询。有任何想法吗?
sql - 在表变量上创建索引
您可以在 SQL Server 2000 中的表变量上创建索引吗?
IE
我可以在 上创建索引Name
吗?
sql-server - 使用表函数优化多个连接
我想在同一个查询中为不同的输入变量多次加入同一个表函数。但在我的情况下,这比使用表变量和分别从表函数中选择要慢得多。
我怎样才能避免表变量并且仍然有一个快速查询?
例如,我们有一个 SQL 查询,如
但它比从函数中分别选择到变量中然后再加入要慢得多,例如:
这可能是什么原因?有没有办法可以快速查询并避免表变量?
更多细节:
这只是一个类似于我正在做的例子,但该函数fn_ProjectNumber(@date datetime)
将包含四个表之间的连接之类的东西......
sql-server - 在存在语句中使用表变量
我正在尝试根据条件更新表变量内的列,条件是表变量的 ID 在不同的表中不存在:
当我尝试编译具有这些语句的过程时,我收到“必须声明标量变量”@BugRep”消息。
如何在 NOT EXISTS 子句中使用表变量?
我正在使用 SQL Server 2008
sql - 我可以遍历 T-SQL 中的表变量吗?
无论如何要遍历 T-SQL 中的表变量吗?
我也使用游标,但游标似乎不如表变量灵活。
我希望能够以与游标相同的方式使用表变量。这样,我可以在过程的一部分中对表变量执行一些查询,然后为表变量中的每一行执行一些代码。
任何帮助是极大的赞赏。
sql-server - 表变量在 SQL Server 存储过程中插入时性能不佳
我们在存储过程中使用表变量时遇到性能问题。
这是实际发生的情况:
SELECT 返回 138 个结果,但插入 TABLE 变量需要 1min15 但是当我使用具有相同 SELECT 的临时表时,woops 需要 0sec:
什么可能导致这种行为?
sql - 读取表变量的查询能否在 SQL Server 2008 中生成并行执行计划?
首先,来自BOL:
修改表变量的查询不会生成并行查询执行计划。修改非常大的表变量或复杂查询中的表变量时,性能可能会受到影响。在这些情况下,请考虑改用临时表。有关详细信息,请参阅创建表 (Transact-SQL)。读取表变量而不修改它们的查询仍然可以并行化。
这似乎很清楚。读取表变量而不修改它们的查询仍然可以并行化。
但后来在SQL Server Storage Engine上,另一个有名的消息来源,Sunil Agarwal 在 2008 年 3 月 30 日关于 tempdb 的一篇文章中说:
涉及表变量的查询不会生成并行计划。
Sunil 是在解释 BOL re: INSERT,还是 FROM 子句中存在表变量会阻止并行性?如果是这样,为什么?
我正在特别考虑控制表用例,其中您将一个小控制表连接到一个较大的表,以映射值,充当过滤器,或两者兼而有之。
谢谢!