środa, 23 października 2013

Oznaczanie kolumn jako UNUSED

Oznaczanie kolumn jako UNUSED


Usuwanie kolumn w bardzo dużych tabelach, z reguły trwa dość długo i generuje pewne obciążenie dla bazy danych. Jeśli zależy Ci na pozbyciu się kolumny bez takich negatywnych perturbacji i zależy Ci na czasie, możesz taką niepożądaną kolumnę oznaczyć jako UNUSED. Takie oznaczenie kolumny nie sprawi że zostanie ona usunięta, ani też nie uwolni zajmowanego przez nią miejsca. Nie będzie jednak widoczna w wynikach zapytania na tej tabeli, ewentualne referencje zostaną usunięte, a będzie można stworzyć kolejną kolumnę o takiej samej nazwie. Oznaczanie kolumn jako UNUSED wykonujemy taką komendą:

ALTER TABLE HR.EMPLOYEES SET UNUSED(SALARY,FIRST_NAME);


Sprawdzić czy mamy jakieś kolumny oznaczone jako unused możemy w słowniku DBA_UNUSED_COLS_TABS:

SELECT * FROM DBA_UNUSED_COLS_TABS WHERE TABLE_NAME='EMPLOYEES';



W przypadku zwykłego użytkownika mamy do dyspozycji słownik USER_UNUSED_COL_TABS:


SELECT * FROM USER_UNUSED_COL_TABS WHERE TABLE_NAME='EMPLOYEES';


W późniejszym czasie możemy fizycznie usunąć kolumny oznaczone jako UNUSED przy użyciu komendy:


ALTER TABLE EMPLOYEES DROP UNUSED COLUMNS;

Brak komentarzy:

Prześlij komentarz