Inżynier danych zarządza zmaterializowanym widokiem w Amazon Redshift, który zawiera kolumnę load_date wskazującą, kiedy każdy wiersz został wstawiony. Inżynier musi usunąć wszystkie wiersze ze zmaterializowanego widoku, aby zwolnić jak najwięcej miejsca w bazie danych. Które polecenie odzyskuje NAJWIĘCEJ miejsca?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: TRUNCATE materialized_view_name.
Dlaczego to jest odpowiedź
Polecenie TRUNCATE jest najskuteczniejsze w odzyskiwaniu miejsca, ponieważ szybko usuwa wszystkie wiersze z tabeli (lub widoku zmaterializowanego) i natychmiast zwalnia zajmowane przez nie miejsce. W przeciwieństwie do DELETE, TRUNCATE nie zapisuje pojedynczych usunięć w dzienniku transakcji, co czyni je znacznie szybszym i bardziej efektywnym pod względem zasobów, szczególnie dla dużych zbiorów danych. Opcja DELETE FROM materializedviewname where 1=1 usuwa wszystkie wiersze, ale robi to w sposób transakcyjny, co jest wolniejsze i nie zwalnia miejsca natychmiastowo, wymagając późniejszego VACUUM. Podobnie DELETE FROM materializedviewname where loaddate<=currentdate usuwa wiersze selektywnie, co również jest wolniejsze i nie odzyskuje miejsca od razu. VACUUM tablename where loaddate<=currentdate materializedview jest niepoprawną składnią; VACUUM działa na całej tabeli i służy do odzyskiwania miejsca po operacjach DELETE, a nie do usuwania danych.
Zdaj egzamin — bez niekończącego się szukania odpowiedzi
Uzyskaj wszystkie zweryfikowane pytania i wyjaśnienia do tego egzaminu w jednym miejscu i zaoszczędź godziny przygotowań. Ponad 1000 certyfikacji · Ponad 20 języków · Zacznij za darmo.
Zdaj egzamin szybciej → Karta nie jest wymagana