FOREIGN KEYS เพียงตรวจสอบให้แน่ใจว่าข้อมูลของคุณสอดคล้องกัน
พวกเขาไม่ได้ปรับปรุงการสืบค้นในแง่ของประสิทธิภาพเพียงแค่ทำให้การสืบค้นผิดพลาดล้มเหลว
หากคุณมีความสัมพันธ์เช่นนี้:
CREATE TABLE department (id INT NOT NULL)
CREATE TABLE employee (id INT NOT NULL, dept_id INT NOT NULL, FOREIGN KEY (dept_id) REFERENCES department(id))
แล้วคุณไม่สามารถลบdepartmentถ้ามันมีบางส่วนemployeeของ
หากคุณON DELETE CASCADEระบุFOREIGN KEYคำจำกัดความแถวอ้างอิงจะถูกลบโดยอัตโนมัติพร้อมกับแถวที่อ้างอิง
ตามข้อ จำกัดFOREIGN KEYทำให้การค้นหาช้าลงเล็กน้อย
ต้องมีการตรวจสอบเพิ่มเติมเมื่อลบออกจากตารางที่อ้างอิงหรือแทรกลงในตารางอ้างอิง