GitHub n’utilise aucune clé étrangère (2016)
(github.com)Les FK :
-
compliquent le sharding
-
dégradent les performances
-
et posent aussi problème pour les migrations de schéma en ligne.
C’est pourquoi nous n’utilisons pas de FK. Nulle part.
= Ce dépôt parle de gh-ost, un outil de migration de schéma pour MySQL, donc cela peut ne pas s’appliquer aux autres bases de données (même si le sujet date d’il y a 3 ans, l’auteur a ajouté un nouveau commentaire après qu’un commentaire récent a mentionné que PostgreSQL 11 permettait aussi le sharding avec FK).
= Autrement dit, les tables se référencent bien entre elles via des ID, mais sans utiliser de contraintes FOREIGN KEY.
1 commentaires
L’enjeu, c’est sans doute la manière dont ils effectuent les vérifications d’intégrité.