Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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_Tsql_Sql Execution Plan - Fatal编程技术网

Sql server 重命名表会导致不同的查询计划

Sql server 重命名表会导致不同的查询计划,sql-server,tsql,sql-execution-plan,Sql Server,Tsql,Sql Execution Plan,可能需要更多的信息,但这真的很奇怪。使用SQL2005,我在两个表上执行内部联接。如果我重命名其中一个表(使用ALTERTABLE),则生成的查询计划将明显更长。表上有视图,但内部联接使用的是基表,而不是任何视图。这有意义吗?这是意料之中的事吗 当您说“但是内部联接使用的是基表”时,您是在谈论查询还是查询计划?是视图?。重命名表时是否重新创建视图?@MikaelEriksson:我可能缺少一些内容,但如果该表被索引视图使用,OP将无法重命名它(如果不先删除视图)。(索引视图是通过模式绑定创建的。

可能需要更多的信息,但这真的很奇怪。使用SQL2005,我在两个表上执行内部联接。如果我重命名其中一个表(使用ALTERTABLE),则生成的查询计划将明显更长。表上有视图,但内部联接使用的是基表,而不是任何视图。这有意义吗?这是意料之中的事吗

当您说“但是内部联接使用的是基表”时,您是在谈论查询还是查询计划?是视图?。重命名表时是否重新创建视图?@MikaelEriksson:我可能缺少一些内容,但如果该表被索引视图使用,OP将无法重命名它(如果不先删除视图)。(索引视图是通过模式绑定创建的。)另一个问题:您的
altertable
语句看起来如何?我想这是我第一次听说,
altertable
可以用来重命名表。@AndriyM-啊,这是真的,我没想到。