rre*_*ejc 5 sql sql-server-2008
我在SQL Server 2008(SP2)中有一个表,包含3000万行,表大小为150GB,有几个int列和两个nvarchar(max)列:一列包含文本(1-30000个字符),另一个包含xml(最多100000个字符).
表没有任何主键或索引(它是临时表).所以我正在运行一个查询:
UPDATE [dbo].[stage_table]
SET [column2] = SUBSTRING([column1], 1, CHARINDEX('.', [column1])-1);
Run Code Online (Sandbox Code Playgroud)
查询运行了3个小时(并且仍未完成),我认为这个时间太长了.是吗?我可以看到.mdf文件的读取速率为5MB/s,写入速率为10MB/s.
如何找出查询运行这么久的原因?"服务器"是RAID 10上的i7,24GB RAM,SATA磁盘.
更新:
table包含一个int列,两个nvarchar(20)列和两个nvarchar(max)列.上面的update子句中的Column1和Columns2是nvarchar(20)列."大"列未更新.
非常感谢!
| 归档时间: |
|
| 查看次数: |
5430 次 |
| 最近记录: |