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
ทำให้การค้นหาช้าลงเล็กน้อย
ต้องมีการตรวจสอบเพิ่มเติมเมื่อลบออกจากตารางที่อ้างอิงหรือแทรกลงในตารางอ้างอิง