Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 select语句中可能的最大联接数以获得更好的性能_Sql Server 2005_Sql Tuning - Fatal编程技术网

Sql server 2005 select语句中可能的最大联接数以获得更好的性能

Sql server 2005 select语句中可能的最大联接数以获得更好的性能,sql-server-2005,sql-tuning,Sql Server 2005,Sql Tuning,包含大量数据的表中的select语句中可以使用的最大联接数 为了更好的获取时间(为了更好的性能)。我的意思是,如果我有一个包含50个内部或左侧联接的select语句,是否最好将select语句拆分为不同的select语句,并使用较少的联接数(4或5个联接)收集到一个数据集中。这取决于;连接越少越好,但是临时表或临时变量本身也有成本。如果在一个SELECT语句中有50个左右的连接,那么最大的好处将来自对数据库设计的检查;你可能在某些方面过度正常化,或者有一些怪癖可以消除你头痛的症状 但是,如果您不

包含大量数据的表中的select语句中可以使用的最大联接数
为了更好的获取时间(为了更好的性能)。我的意思是,如果我有一个包含50个内部或左侧联接的select语句,是否最好将select语句拆分为不同的select语句,并使用较少的联接数(4或5个联接)收集到一个数据集中。

这取决于;连接越少越好,但是临时表或临时变量本身也有成本。如果在一个SELECT语句中有50个左右的连接,那么最大的好处将来自对数据库设计的检查;你可能在某些方面过度正常化,或者有一些怪癖可以消除你头痛的症状


但是,如果您不能影响设计,并且试图减少单个语句中的联接数量,那么就没有硬性的最大联接数量;作为一般的经验法则,我可能会尝试将数量减半,然后从中评估性能。

对于50个连接,搜索空间将非常大,因此将其分解为较小的查询可能是有益的。那么连接的最大数量提供了更好的性能,是不是4??我的意思是,我需要知道将该查询分解为较小查询的有效连接数。