Sql server中的临时表记录限制

时间:2012-04-10 07:33:03

标签: sql sql-server sql-server-2008 temp-tables

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

6 个答案:

答案 0 :(得分:6)

tempdb和任何其他数据库之间的差异很小,特别是在限制时。

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

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

答案 1 :(得分:3)

临时表是一个表格,因此适用:Maximum Capacity Specifications for SQL Server

  

每张桌子的行数

     

受可用存储空间的限制

答案 2 :(得分:2)

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

答案 3 :(得分:2)

任何表都将遇到1000个最大行的硬限制,可以使用单个使用table value constructor的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

答案 4 :(得分:1)

临时表是stored in the tempdb Database,只要tempdb本身可以增长(即直到磁盘已满),它就会增长。

答案 5 :(得分:0)

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

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