我不能为我的生活记住SQL(SQL Server 2005+)在删除后压缩索引的内容,即
PK Identity col1 col2
1 abc def
3 abc def
id 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 ]