SQL 服务器中的临时表记录限制



临时表中的记录是否有任何限制。我已经尝试了 130 万条记录。.可能我将来必须根据应用程序的需求处理数十亿美元。可能吗? 如果我能知道记录的限制..我可以尝试从源数据库拆分记录并在限制内进行管理。提前致谢

tempdb 和任何其他数据库之间的差异很小,尤其是在限制方面。

如果可以将其存储在用户表中,则也可以将其存储在临时表中。它不必适合 RAM,因为 tempdb 像任何其他数据库一样存储在磁盘上(只是具有更积极的缓存和更少的日志记录)。

来源: http://msdn.microsoft.com/en-us/library/ms190768.aspx

临时表是一个表,因此这将适用: SQL Server 的最大容量规格

每个表的行数

受可用存储空间限制

任何表都将达到最多 1000 行的硬限制,这些限制可以使用使用表值构造函数的单个 T-SQL INSERT 语句插入。

The number of row value expressions in the INSERT statement exceeds
the maximum allowed number of 1000 row values. 

https://dba.stackexchange.com/questions/82921/the-number-of-row-value-expressions-in-the-insert-statement-exceeds-the-maximum

不,临时表没有记录限制(限制是磁盘空间)。但要小心,因为临时表是在 tempdb 数据库中物理创建的,并且此数据库必须以适当的大小放置在磁盘上。

临时表存储在 tempdb 数据库中,只要 tempdb 本身可以增长(即直到磁盘已满),临时表就可以增长。

在您的服务器内存(即磁盘)支持之前,将多少条记录推送到临时表中是没有问题的。

我认为您在临时表中推送的记录数量没有限制。

最新更新