Tôi có một bảng gọi là "Tài khoản" là bảng được sử dụng nhiều, có 17 cột và có hơn 300.000 hàng. Tôi đang cố gắng tạo một bảng mới, "NewTable", có ràng buộc khóa ngoại đối với bảng "Tài khoản".
Câu lệnh CREATE TABLE của tôi trông như thế này:
CREATE TABLE "NewTable"
(
"column1" VARCHAR(100) NOT NULL,
"column2" INTEGER NOT NULL,
PRIMARY KEY("column1")
CONSTRAINT "SomeFK" FOREIGN KEY ("column2") REFERENCES "Account" ("ID")
)
Tuyên bố trên được thực hiện trong hơn 25 phút và không hoàn thành. Chúng tôi đã giết giao dịch.
Khi chúng ta loại bỏ ràng buộc khóa ngoại, nó sẽ thực thi ngay lập tức.
Ai đó có thể cho chúng tôi biết vấn đề là gì? Ban đầu, chúng tôi nghĩ rằng nó đã khóa bảng "Tài khoản" vì một số lý do, nhưng khi chúng tôi xem "pg_locks", chúng tôi không tìm thấy bất kỳ mục nào cho "Tài khoản" - chỉ có một khóa độc quyền cho "NewTable".
column2
cho phépNULL
s, nó vẫn chậm?