dot*_*ewb 3 sql sql-server-2008
我一直在和我的经理讨论过在Sql Server中插入表的行为.他简要地向我解释了他对我所得到的理解,这听起来特定于线程.他是一个忙碌的人,并不总是有时间深入细节.我想更多地了解插入的表是如何工作的.
当有多个插入表时,它们是唯一的,它们是否有别名?
然后他们会在每个线程结束时被丢弃吗?
它们甚至是特定于线程的吗?
我很欣赏这可能不是一个理想的网站问题,但你们之间有很多知识在这里有用.
干杯
它们不仅仅是特定于线程的,它们特定于特定的插入,更新或删除操作.因此,如果在同一个存储过程中,您在两个不同的步骤中插入到同一个表中,则每个步骤都有自己的插入和删除实例,该实例仅特定于该操作.如果其他人同时执行操作,他们将拥有自己的表格版本.但是插入和删除的表是面向批处理的.如果更新了10,000,000条记录,那么将在插入和删除的表中记录多少条记录.如果您执行一个插入1条记录并循环1,000,000次的光标,您将在1,000,0000个不同版本的插入和删除中获得一条记录(这当然是您执行任务的最糟糕方式).重要的是要理解它们包含一批记录,因为这意味着必须在假设可能涉及多个记录的情况下编写所有触发器.