SQL删除后压缩索引

时间:2011-11-26 13:56:17

标签: sql sql-server

我不能为我的生活记住SQL(SQL Server 2005+)在删除后压缩索引的内容,即

PK Identity  col1 col2
1            abc  def
3            abc  def

id 2已被删除 - 是什么命令基本上压缩索引,同时保持参照完整性(有一行语句)

谢谢,(当我看到答案时,我知道我会'面掌')

2 个答案:

答案 0 :(得分:2)

SQL中的术语是Reorganizing and Rebuilding Indexes,其中的每个命令都是:

ALTER INDEX REORGANIZE

ALTER INDEX REBUILD 

但是根据该链接上的开头行“SQL Server 2005数据库引擎会在对基础数据进行插入,更新或删除操作时自动维护索引。”所以只需将它留给服务器。

答案 1 :(得分:-1)

除非你真的热衷于最小化磁盘空间,否则不要这样做,但也许你正在使用快递并且接近大小限制?

无论如何,这样你就可以压缩数据库:

  DBCC SHRINKFILE 
  (
  { file_name | file_id } 
  { [ , EMPTYFILE ] 
  | [ [ , target_size ] [ , { NOTRUNCATE | TRUNCATEONLY } ] ]
   }
)
[ WITH NO_INFOMSGS ]