FOREIGN KEYS
apenas certifique-se de que seus dados sejam consistentes. Eles não melhoram as consultas no sentido de eficiência, apenas fazem com que algumas consultas erradas falhem.
Se você tem um relacionamento assim:
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))
, você não poderá excluir um
department
se tiver algum employee
's. Se você fornecer
ON DELETE CASCADE
para a FOREIGN KEY
definição, as linhas de referência serão excluídas automaticamente junto com as referenciadas. Como restrição,
FOREIGN KEY
na verdade, diminui um pouco as consultas. A verificação extra precisa ser realizada ao excluir de uma tabela referenciada ou inserir em uma tabela de referência.