Pytania otagowane jako alter-table

Instrukcja SQL używana do zmiany istniejącego obiektu tabeli.



4
Szybka zmiana kolumny NVARCHAR (4000) na NVARCHAR (260)
Mam problem z wydajnością przy bardzo dużych przydziałach pamięci obsługujących tę tabelę z kilkoma NVARCHAR(4000)kolumnami. Chodzi o to, że te kolumny nigdy nie są większe niż NVARCHAR(260). Za pomocą ALTER TABLE [table] ALTER COLUMN [col] NVARCHAR(260) NULL powoduje, że SQL Server przepisuje całą tabelę (i używa 2x rozmiaru tabeli w …

3
Zwiększ kolumnę zmieniającą prędkość na dużym stole do NON NULL
Niedawno dodałem kolumnę bitową obsługującą NULL do tabeli, która ma prawie 500 milionów wierszy. W kolumnie nie ma wartości domyślnej, jednak wszystkie wstawki określają wartość 0 lub 1, a ja uruchomiłem jednorazową procedurę, aby przypisać 0 lub 1 do wszystkich istniejących wierszy (aktualizując wiersze małymi partiami). Każdy wiersz powinien mieć …

4
Usunięcie ograniczenia (indeksu) z kolumny
Jak mogę zmodyfikować typ w tabeli z indeksem? Próbowałem zrobić kolumnę alter na pustej tabeli, aby zmodyfikować typ od daty do varchar (15) i dostałem błędy mówiące, że ma zależności od kolumny (która okazała się być indeksami). Byłem w stanie łatwo obejść ten problem lokalnie, klikając prawym przyciskiem myszy indeks …

5
MySQL - najszybszy sposób na ALTER TABLE dla InnoDB
Mam tabelę InnoDB, którą chcę zmienić. Tabela ma ~ 80 milionów wierszy i zamknęła kilka indeksów. Chcę zmienić nazwę jednej z kolumn i dodać jeszcze kilka indeksów. Jaki jest najszybszy sposób na zrobienie tego (zakładając, że mogę cierpieć nawet z powodu przestojów - serwer jest nieużywanym urządzeniem podrzędnym)? Czy „proste” …

2
Czy mogę zmienić nazwę wartości w kolumnie MySQL ENUM w jednym zapytaniu?
Załóżmy, że mam tabelę bazy danych z ENUM('value_one','value_two'). Chcę to zmienić na ENUM('First value','Second value'). Obecnie robię to w następujący sposób: ALTER TABLE `table` MODIFY `column` ENUM('value_one','value_two','First value','Second value'); UPDATE `table` SET `column`='First Value' WHERE `column`='value_one'; UPDATE `table` SET `column`='Second Value' WHERE `column`='value_two'; ALTER TABLE `table` MODIFY `column` ENUM('First value','Second …

2
Szybko zmień kolumnę NULL na NOT NULL
Mam tabelę z milionami wierszy i kolumnę, która dopuszcza wartości NULL. Jednak żaden wiersz nie ma obecnie wartości NULL dla tej kolumny (mogę to dość szybko zweryfikować za pomocą zapytania). Jednak gdy wykonam polecenie ALTER TABLE MyTable ALTER COLUMN MyColumn BIGINT NOT NULL; zapytanie trwa wiecznie relatywnie rzecz biorąc. W …





2
Czy bezpiecznie jest anulować zapytanie PostgreSQL ALTER TABLE, które czeka na zamek?
ALTER TABLEZapytanie rozpoczęliśmy kilka godzin temu i dopiero niedawno zdaliśmy sobie sprawę (za pośrednictwem pg_stat_activity), że czeka ono na zamek. Odkryliśmy inne zapytanie, które trzyma blokadę tabeli, którą chcemy zmienić, i nie pozwalając jej odejść. Nasze zapytanie jest „prostym” zapytaniem (zmiana typu danych kolumny), ale działa na ogromnej tabeli. Zamiast …

2
Czy PostgreSQL optymalizuje dodawanie kolumn z DOMYŚLNYMI wartościami innymi niż NULL?
Podczas dodawania NOT NULLkolumn z DEFAULTwartością - czy PostgreSQL optymalizuje tę operację? W przypadku, gdy tabela ma n wierszy, niezoptymalizowana kolumna alter-table-add-kolumna dałaby n zapisów wartości domyślnej - co oczywiście może być bardzo bolesne. Dzięki optymalizacji DB utworzy natychmiast nową kolumnę, zapisze tylko jedną kopię wartości domyślnej, która zostanie zwrócona, …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.