Ich habe eine große (~ 67 Millionen Zeilen) Name-Wert-Tabelle mit Volltextindizierung für die DataValueSpalte. Wenn ich versuche, den folgenden Befehl auszuführen: ALTER TABLE VisitorData ADD NumericValue bit DEFAULT 0 NOT NULL; Es dauert 1 Stunde und 10 Minuten und wird in einer VisitorDataTabelle mit ~ 67 Millionen Zeilen immer noch …
Kürzlich habe ich einer Tabelle mit fast 500 Millionen Zeilen eine NULL-fähige Bitspalte hinzugefügt. Es gibt keine Standardeinstellung für die Spalte, jedoch geben alle Einfügungen den Wert 0 oder 1 an, und ich habe eine einmalige Routine ausgeführt, um allen vorhandenen Zeilen 0 oder 1 zuzuweisen (Aktualisierung der Zeilen in …
Ich habe ein Leistungsproblem mit sehr großen Speicherzuweisungen, die diese Tabelle mit ein paar NVARCHAR(4000)Spalten behandeln. Diese Spalten sind niemals größer als NVARCHAR(260). Verwenden ALTER TABLE [table] ALTER COLUMN [col] NVARCHAR(260) NULL Dies führt dazu, dass SQL Server die gesamte Tabelle neu schreibt (und 2x Tabellengröße im Protokollbereich verwendet). Dies …
In einer 600-GB-MySQL-Tabelle muss ein Datentyp von INT in BIGINT geändert werden. Die Spalte hat einen eindeutigen Index. Ich mag mit nicht signiertem INT gut umgehen können, aber ich gehe davon aus, dass der Wechsel zu BIGINT ziemlich schmerzhaft sein wird. Die Engine der Tabelle ist InnoDB. Was wäre einfacher: …
Wie kann ich den Typ für eine Tabelle ändern, für die ein Index vorhanden ist? Ich habe versucht, eine Änderungsspalte in einer leeren Tabelle zu erstellen, um den Typ von Datum und Uhrzeit auf varchar (15) zu ändern. Dabei wurde die Fehlermeldung ausgegeben, dass er Abhängigkeiten von der Spalte hatte …
Ich habe eine InnoDB-Tabelle, die ich ändern möchte. Die Tabelle enthält ~ 80 Millionen Zeilen und beendet einige Indizes. Ich möchte den Namen einer der Spalten ändern und ein paar weitere Indizes hinzufügen. Was ist der schnellste Weg, dies zu tun (vorausgesetzt, ich könnte sogar Ausfallzeiten erleiden - der Server …
Angenommen, ich habe eine Datenbanktabelle mit einem ENUM('value_one','value_two'). Ich möchte das in ein ändern ENUM('First value','Second value'). Ich mache das momentan wie folgt: 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` …
Ich habe eine Tabelle mit Millionen von Zeilen und eine Spalte, die Nullwerte zulässt. Derzeit hat jedoch keine Zeile einen NULL-Wert für diese Spalte (dies kann ich relativ schnell mit einer Abfrage überprüfen). Jedoch wenn ich den Befehl ausführe ALTER TABLE MyTable ALTER COLUMN MyColumn BIGINT NOT NULL; Die Abfrage …
Ich habe mehrere Quellen gefunden, die ALTER TABLE angeben ... DROP COLUMN ist eine reine Metadatenoperation. Quelle Wie kann das sein? Müssen die Daten während einer DROP COLUMN nicht aus den zugrunde liegenden nicht gruppierten Indizes und dem gruppierten Index / Heap gelöscht werden? Warum implizieren die Microsoft-Dokumente außerdem , …
Ich habe die folgenden Tabellen, CREATE TABLE users (id int PRIMARY KEY); -- already exists with data CREATE TABLE message (); Wie ändere ich die messagesTabelle so, dass, Eine neue Spalte mit dem Namen senderwird hinzugefügt Wo senderist ein Fremdschlüssel, der auf die usersTabelle verweist ? Das hat nicht funktioniert …
Ich habe Probleme, einer Tabelle eine neue Spalte hinzuzufügen. Ich habe ein paar Mal versucht, es auszuführen, aber nach mehr als 10 Minuten habe ich beschlossen, die Abfrage wegen der Sperrzeit abzubrechen. ALTER TABLE mytable ADD mycolumn VARCHAR(50); Nützliche Informationen: PostgreSQL-Version: 9.1 Anzahl der Zeilen: ~ 250K Anzahl der Spalten: …
Nehmen wir an, ich habe zwei Spalten vom Typ NUMBER(ohne Genauigkeit und Skalierung) und VARCHAR(300). Ich habe festgestellt, dass diese Spalten für meine Daten viel zu groß sind, daher möchte ich sie in NUMBER(11)und ändern VARCHAR(10). Wenn ich diese SQL-Anweisung ausführe: ALTER TABLE FOO MODIFY(BAR NUMBER(10)); Kann ich das in …
Wir haben vor ALTER TABLEStunden eine Abfrage gestartet und erst kürzlich (via pg_stat_activity) festgestellt, dass sie auf ein Schloss wartet. Wir haben die andere Abfrage entdeckt, die eine Sperre für die Tabelle enthält, die wir ändern möchten, und sie nicht loslässt. Unsere Abfrage ist eine "einfache" Abfrage (Ändern eines Spaltendatentyps), …
Optimiert PostgreSQL beim Hinzufügen von NOT NULLSpalten mit einem DEFAULTWert diesen Vorgang? Falls die Tabelle n Zeilen enthält, würde eine nicht optimierte alter-table-add-column n Schreibvorgänge des Standardwerts ergeben - was natürlich sehr schmerzhaft sein kann. Bei der Optimierung würde die Datenbank sofort die neue Spalte erstellen und nur eine Kopie …
Ich möchte einen ALTER TABLEAusdruck erstellen, der eine neue Spalte hinzufügt, einen Standardwert festlegt und zusätzlich die zulässigen Werte für diese Spalte definiert. Es ist eine Textspalte und darf nur 'Wert1', 'Wert2' und 'Wert3' sein. Die Standardeinstellung sollte "Wert1" sein. Nach folgenden Syntaxdiagrammen: Ich komme an diesen Punkt ALTER TABLE …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.