Sql server 2008 SQL Server 2008中允许的最大联接数是多少?

Sql server 2008 SQL Server 2008中允许的最大联接数是多少?,sql-server-2008,join,Sql Server 2008,Join,SQL Server 2008中允许的最大联接数是多少?列出了SQL Server的限制 每个查询的表数仅受可用资源量的限制。在SQL Server 2008中,SELECT中可以包含的最大表数仅受可用资源的限制() 在SQLServer2005中,单个SELECT()有256个表的限制 尽管如此,如果你要达到这些数字,那么我会有点担心tbh 其他答案已经直接回答了您的问题 仅受可用资源的限制 然而,即使SQL Server成功地为您的查询编译了一个计划,但这并不意味着您应该这样做。连接越多,可

SQL Server 2008中允许的最大联接数是多少?

列出了SQL Server的限制


每个查询的表数仅受可用资源量的限制。

在SQL Server 2008中,SELECT中可以包含的最大表数仅受可用资源的限制()

在SQLServer2005中,单个SELECT()有256个表的限制


尽管如此,如果你要达到这些数字,那么我会有点担心tbh

其他答案已经直接回答了您的问题

仅受可用资源的限制

然而,即使SQL Server成功地为您的查询编译了一个计划,但这并不意味着您应该这样做。连接越多,可能的查询计划的空间就越大,并且很可能得到次优的计划

对于具有12个联接的查询,可能的联接顺序数为。此外,每个连接可能有三种可能的算法(散列、嵌套循环、合并)

在《SQLServer2005实用故障排除》一书中,Cesar Galindo Legaria说

如果您要加入20多个表,那么优化器很可能不是 查看整个搜索空间,但更多地依赖启发式。。。。 我们已经看到运行常规查询的应用程序处理超过 100张桌子。虽然可以运行如此大的查询,但是 在这些情况下,我们真的在扩展系统,应该是非常重要的 小心走这么远


对于
内部联接
,最多可联接256个表。 对于
外部联接
,最多可以联接2个表


资料来源:课堂培训。

“Raymond Chen指出,如果你要问操作系统的限制在哪里,你可能做错了”我唯一见过有人达到限制的时候是他们愚蠢地使用视图调用视图,这些视图称为视图,等等。如果你使用视图调用视图,现在是时候在您的系统仍然正常运行的时候停止了(不仅您会遇到极限,而且在您遇到可以调用的极限之前很久,您会遇到严重的性能问题)。我们在SQL 2005中曾经合法地达到256极限。根据Microsoft指南,SQL Server中不允许有五个以上的表加入。对吗?如果不正确,请根据您的观点确定允许多少表加入SQL Server以获得更好的性能。@RGS最大值为5是一个很好的建议。对于一个表上的左连接,将有120个可能的查询计划,而对于其他场景,最多有1680个计划。您将有一个公平的机会,SQL将从中做出一个很好的选择。在某些情况下,可以根据查询和表的大小(编码/性能提高所需的时间)来调整更多。至于什么是“允许的”取决于你的政策,但从技术上讲,你是“允许”消耗资源、精力和时间的。就像你被允许在办公室大声打嗝一样。如果你越界了,你可能会因为不称职而被解雇。我有一个疑问,大概有13个左撇子。。他们中的一些人坐在同一张桌子上。总的来说,查询返回1个元组。优化的最佳方式是什么?这样做有意义吗?我可以做工会,但不确定是否有任何真正的好处,我建议你要求退款的培训。编写一个显示两个以上表可以进行外部联接的查询很简单。