Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.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 他的病情只会随着时间的推移而恶化,而不会好转_Sql Server_Database_Sql Server 7 - Fatal编程技术网

Sql server 他的病情只会随着时间的推移而恶化,而不会好转

Sql server 他的病情只会随着时间的推移而恶化,而不会好转,sql-server,database,sql-server-7,Sql Server,Database,Sql Server 7,如果直接查询表而不是使用视图,是否会出现相同的错误?我怀疑您正在尝试从类似的表(基于表名)透视信息。您可以改为使用union all并让应用程序进行数据透视吗?这样,查询至少会有更少的列 我知道我在向唱诗班宣讲,但现在确实是时候让您的组织升级到新版本的SQl server了。即使是现在,您也无法直接升级到2008,因此如果您无法获得SQL server 2005,您将面临失去任何升级路径的真正危险。如果这是业务关键型数据,您就不能再等待升级了。我在示例中添加了*以简化示例。实际查询请求特定的必需

如果直接查询表而不是使用视图,是否会出现相同的错误?我怀疑您正在尝试从类似的表(基于表名)透视信息。您可以改为使用union all并让应用程序进行数据透视吗?这样,查询至少会有更少的列



我知道我在向唱诗班宣讲,但现在确实是时候让您的组织升级到新版本的SQl server了。即使是现在,您也无法直接升级到2008,因此如果您无法获得SQL server 2005,您将面临失去任何升级路径的真正危险。如果这是业务关键型数据,您就不能再等待升级了。

我在示例中添加了*以简化示例。实际查询请求特定的必需列。为了清晰起见,我编辑了我的问题。我在我的示例中加入*以保持示例简短。实际查询请求特定的必需列。为了清晰起见,我编辑了我的问题。哇,你说得对,安德鲁,解释计划显示它正在哈希表上进行排序。在我将一定数量的表添加到联接之前,它不会使用哈希表,因此我猜测,在某个点上,它会确定有足够的数据来保证使用哈希表,从而进行排序以填充该哈希表这并不准确,在2005年,您可以覆盖连接机制,通常通过编写内部循环连接、内部合并连接、内部哈希连接或内部远程连接(最后一个用于链接服务器)来付出性能代价。我不知道内部循环连接是否会在6中运行,它甚至可能不是合法的语法。这是一个真正的黑客,但现在可能会推动你前进一点。如果我能再次投票给你,我会的!连接覆盖确实可以工作,尽管它确实会像预期的那样影响性能,但我认为生产服务器将能够很好地处理它。你就是那个人@SQLServer7中是否存在该选项?docs link只是最新的版本。哇,你说得对,Andrew,解释计划显示它正在哈希表上进行排序。在我将一定数量的表添加到联接之前,它不会使用哈希表,因此我猜测,在某个点上,它会确定有足够的数据来保证使用哈希表,从而进行排序以填充该哈希表这并不准确,在2005年,您可以覆盖连接机制,通常通过编写内部循环连接、内部合并连接、内部哈希连接或内部远程连接(最后一个用于链接服务器)来付出性能代价。我不知道内部循环连接是否会在6中运行,它甚至可能不是合法的语法。这是一个真正的黑客,但现在可能会推动你前进一点。如果我能再次投票给你,我会的!连接覆盖确实可以工作,尽管它确实会像预期的那样影响性能,但我认为生产服务器将能够很好地处理它。你就是那个人@SQLServer7中是否存在该选项?docs link只是最新版本。可怕的是,除非OP输入错误,否则它是SQL Server 6,这本身就是一个真正的问题。顺便说一句,我用你想要的程序名发布了那个表扫描。很好。我打错了。它是SQL Server 7.KM-所有要联接的列上都有索引。都是整数。正在从正在联接的所有表中选择数据。看起来直到SQL server 2005才可以选择CTE,对吗?可怕的是,除非OP输入错误,否则它就是SQL server 6,这本身就是一个真正的问题。顺便说一句,我用你想要的程序名发布了那个表扫描。很好。我打错了。它是SQL Server 7.KM-所有要联接的列上都有索引。都是整数。正在从正在联接的所有表中选择数据。看起来直到SQL server 2005才可以选择CTE,对吗?您实际运行的是SQL server 6吗?或者在更高版本上处于兼容模式?您实际运行的是SQL Server 6吗?或者在更高版本的兼容模式下?是的,这肯定是一个糟糕的设计。最后,我实际上从视图中删除了一些列,我发现这些列只在少数几个地方需要解决这个问题。关于数据库升级,我非常同意。有些客户只是不愿意花一分钱在功能增强上。是的,这的确是一个糟糕的设计。最后,我实际上从视图中删除了一些列,我发现这些列只在少数几个地方需要解决这个问题。关于数据库升级,我非常同意。有些客户只是不愿意花一分钱在功能增强上。
SELECT <a number of columns...>
FROM Category10Master c10
JOIN Category20Master c20 ON c10.Cat10ID = c20.ParentCatID 
JOIN Category25Master c25 ON c20.Cat20ID = c25.ParentCatID 
JOIN Category30Master c30 ON c25.Cat25ID = c30 .ParentCatID 
JOIN Item i ON c30.Cat30ID = i.ParentCatID