我有一个大约有150列的SQL Server 2008实例。我以前在该表中填充了大约1200万个条目,但是此后清除了该表以准备新的数据集。
然而,命令,一旦在空表上立即跑如count(*)
和select top 1000
在SQL Management Studio
现在采取亿万运行。
SELECT COUNT(*) FROM TABLE_NAME
花了11分钟以上的时间来返回0,SELECT TOP 1000
花了将近10分钟的时间来返回一个空表。
我还注意到硬盘上的可用空间实际上已经消失了(从大约100G减少到20G)。之间发生的唯一事情是我运行了一个查询:
DELETE FROM TABLE_NAME
到底是怎么回事?!?
TRUNCATE TABLE
代替DELETE FROM
。