Ich habe eine Tabelle namens "Account", die häufig verwendet wird, 17 Spalten und mehr als 300.000 Zeilen enthält. Ich versuche, eine neue Tabelle "NewTable" zu erstellen, die eine Fremdschlüsseleinschränkung für die Tabelle "Account" aufweist.
Meine CREATE TABLE-Anweisung sieht folgendermaßen aus:
CREATE TABLE "NewTable"
(
"column1" VARCHAR(100) NOT NULL,
"column2" INTEGER NOT NULL,
PRIMARY KEY("column1")
CONSTRAINT "SomeFK" FOREIGN KEY ("column2") REFERENCES "Account" ("ID")
)
Die obige Anweisung wurde länger als 25 Minuten ausgeführt und nicht abgeschlossen. Wir haben die Transaktion abgebrochen.
Wenn wir die Fremdschlüsseleinschränkung entfernen, wird sie sofort ausgeführt.
Kann uns jemand mitteilen, wo das Problem liegt? Wir dachten anfangs, es würde aus irgendeinem Grund die Tabelle "Konto" sperren, aber als wir uns "pg_locks" anschauten, fanden wir keinen Eintrag für "Konto" - nur eine exklusive Sperre für "NewTable".
column2
Zulassen vonNULL
s definieren , ist es immer noch langsam?