Stu*_*art 4 sql-server delete truncate
我正在阅读这98-364 exam
本书,但有一个问题我无法完全回答:
“您将使用什么命令从 Contact 表中删除所有没有美国国家/地区的记录,同时释放这些记录使用的空间?”
如果“没有美国的国家”不在那里,那么它只是“截断命令”,因为它会清除该表中的所有数据,并释放空间。据我所知,删除命令不会释放空间,而且我找不到在针对特定记录的同时删除和释放空间的命令。
这本书在这里有错别字吗?或者有没有人知道的命令?
注意:它是“什么命令...”,而不是命令。
编辑:(斯图尔特)这里有很多有用的答案,在我看来,这本书有些含糊不清。在“你会使用哪个命令”之外,如果考试中出现这种情况,“预期”答案是什么?我假设他们正在寻找“带有 where 子句的删除命令”。仅仅因为他们到目前为止,书中只建议了三种方法(删除/截断/删除)。
在某些情况下,Microsoft 考试(和准备材料)往往很愚蠢。它最适合排除答案。你必须保持记录吗?因此 truncate 不适合您(并且创建新表通常不是解决它的正确方法)。
删除确实释放了空间。当然不是硬盘空间,而是(同样通常)聚集索引内的空间。鬼清理过程必须真正整理的背景对于98-364来说太复杂了。该考试是关于数据库基础知识的。