Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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 将nvarchar 3000更改为nvarchar 4000后,SQL Server查询超时_Sql Server_Tsql - Fatal编程技术网

Sql server 将nvarchar 3000更改为nvarchar 4000后,SQL Server查询超时

Sql server 将nvarchar 3000更改为nvarchar 4000后,SQL Server查询超时,sql-server,tsql,Sql Server,Tsql,在生产数据库中有一个表,我将其中一个列的长度从Nvarchar(3000)更改为Nvarchar(4000) 之后,应用程序团队将收到超时错误。你们谁能建议如何解决这个问题 执行查询时没有阻塞。大多数情况下,超时与统计信息不是最新的有关 尝试重建索引。由于更改了列,因此可能会导致一些碎片 ALTER INDEX all ON yourtable REBUILD 并尝试更新统计信息,因为索引重建只更新索引列统计信息 UPDATE STATISTICS yourtable WITH FULLSC

在生产数据库中有一个表,我将其中一个列的长度从
Nvarchar(3000)
更改为
Nvarchar(4000)

之后,应用程序团队将收到超时错误。你们谁能建议如何解决这个问题


执行查询时没有阻塞。

大多数情况下,超时与统计信息不是最新的有关

尝试重建索引。由于更改了列,因此可能会导致一些碎片

ALTER INDEX all ON yourtable REBUILD 
并尝试更新统计信息,因为索引重建只更新索引列统计信息

UPDATE STATISTICS yourtable WITH FULLSCAN, COLUMNS 

如果仍有超时,请尝试微调所涉及的查询。

大多数情况下,超时与统计信息不最新有关

尝试重建索引。由于更改了列,因此可能会导致一些碎片

ALTER INDEX all ON yourtable REBUILD 
并尝试更新统计信息,因为索引重建只更新索引列统计信息

UPDATE STATISTICS yourtable WITH FULLSCAN, COLUMNS 

如果仍然出现超时,请尝试微调所涉及的查询。

此类更改后,数据可能会大量分布在存储上,这可能会导致极高的i/o。修复索引/统计是值得尝试的,但也请考虑创建新表并将数据移动到新创建的表。

要检查I/O是否高,请使用SET STATISTICS IO ON


当然,如果您可以将其与旧版本进行比较,这将是完美的。

在这样的更改之后,数据可能会大量分布在存储上,这可能会导致极高的i/o。修复索引/统计是值得尝试的,但也请考虑创建新表并将数据移动到新创建的表。

要检查I/O是否高,请使用SET STATISTICS IO ON


当然,如果你能将它与旧版本进行比较,那就太完美了。

你重建了指向该列的所有索引吗?没有,我无法重建索引。你重建了指向该列的所有索引吗?没有,我无法重建索引。