一位数据工程师负责管理 Amazon Redshift 中的一个物化视图,其中包含一个 load_date 列,指示每行插入的时间。工程师必须从物化视图中删除所有行,以释放最多的数据库存储空间。哪个命令能回收最多的存储空间?
选择一个答案
点击一个选项来检查您的答案。
正确答案: TRUNCATE materialized_view_name.
为什么这是答案
TRUNCATE 命令是清空表并回收存储空间最有效的方法。它会删除表中的所有行,并立即释放所有占用的磁盘空间,而无需记录单个行删除操作,因此速度更快,资源消耗更少。 DELETE FROM materializedviewname where 1=1 会删除所有行,但这些删除操作会记录在事务日志中,并且在 Redshift 中,被删除的行空间不会立即回收,需要后续的 VACUUM 操作才能完全回收。 VACUUM tablename where loaddate<=currentdate materializedview 语法不正确,VACUUM 操作通常用于回收被删除行占用的空间,但它不是直接删除行的命令,且不能带 WHERE 子句。 DELETE FROM materializedviewname where loaddate<=currentdate 仅删除符合条件的行,不会清空整个表,且同样需要 VACUUM 才能回收空间。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡