Les impacts sont négligeables face aux bénéfices notamment en terme de performances
Sur certains SGBDR avancés comme MS SQL Server, l'optimiseur peut même tirer partit des contraintes pour simplifier un plan de requête. par exemple si vous avez mis une colonne PRIX avec CHECH (PRIX >=0) et que vous lancez une requête comme :
SELECT * FROM MaTable WHERE PRIX = -100
Alors la réponse du SGBDR est instantanée car il n'a pas besoin de lire les données pour savoir qu'il n'y a pas de lignes.
Hélas à ma connaissance PG n'a pas encore implémenté ce genre de chose (optimisation sémantique par contrainte), mais nul doute que cela viendra.
A lire sur le sujet :
http://sqlpro.developpez.com/contrai...aintes_SQL.pdf
http://sqlpro.developpez.com/article/fk-sql-vs-appli/
http://blog.developpez.com/sqlpro/p9...s-externe-ave/
http://blog.developpez.com/sqlpro/p6...ql-s/#more6507
A +
Partager