FOREIGN KEYS jen se ujistěte, že jsou vaše data konzistentní.
Nezlepšují dotazy ve smyslu efektivity, pouze způsobují, že některé chybné dotazy selžou.
Pokud máte takový vztah:
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))
, pak nemůžete odstranit department pokud má nějakého employee 's.
Pokud zadáte ON DELETE CASCADE na FOREIGN KEY definice, budou referenční řádky automaticky odstraněny spolu s odkazovanými.
Jako omezení FOREIGN KEY ve skutečnosti trochu zpomaluje dotazy.
Při mazání z odkazované tabulky nebo vkládání do odkazované tabulky je třeba provést zvláštní kontrolu.