Có một tính năng/ràng buộc mà Khóa ngoại mang lại cho hệ thống của bạn mà hiện chưa được đề cập đến. Đó là cam kết/giao dịch logic (đó là những gì tôi gọi nó anyway). Với Foreign Keys được kích hoạt, tất cả các hàng cho một bản cập nhật, trong tất cả các bảng bị ảnh hưởng cần phải có cho cam kết làm việc (không ném một lỗi SQL mà các ràng buộc khóa ngoại đã bị vi phạm).
Nếu bạn có nội dung mã, hoạt động và "phát nhanh và lỏng", với các giao dịch/giao dịch. Sau đó, bạn có thể ở trong một số biện pháp khắc phục, để có được những thứ làm việc với FK trong lược đồ.
Ngoài ra, ít nhất Oracle cũng cho phép bạn vô hiệu hóa các ràng buộc (không chỉ thả/xóa). Vì vậy, bạn có thể bật/tắt chúng dễ dàng. Tiện dụng, khi bạn muốn thực hiện một số hoạt động hàng loạt, hoặc bằng cách vượt qua các ràng buộc, hoặc thực hiện một số "phẫu thuật" trên dữ liệu có trạng thái trung gian sẽ thất bại trong các ràng buộc.
Nguồn
2009-03-01 05:18:21
"không liên quan đến tốc độ thực hiện" là không hoàn toàn chính xác cho chèn (Tôi biết bạn biết nhưng Tuấn có thể không) – SquareCog
Thx - Tôi điền câu trả lời một chút, trong một thời trang nên kết thúc cùng một vị trí. – dkretz
lý lẽ tốt về chèn. tôi có cái nhìn tốt về cấu trúc. như tôi đã nói tích hợp là không có vấn đề. tôi cần tốc độ thô. –