Et bah moin, je vais pas répondre pareil, na (a noter, je n'utilises pas EF)
Dans 98% des cas, pour du CRUD sur une table simple, je ne passes pas par une SP.
Forcément, cela s'accompagne de règles de "bonne conduite":
- 5 à 10 requètes (max) de selection sur une page (sinon -> SP)
- les lookups sont stockées en cache (même si j'ai des SP)
- si il faut au moins 3 jointures -> SP
- pas de code Linq dans les pages, comme ca, si necessaire, on peut repasser sur un autre mecanisme
Après, soyons clair, sur les 6 derniers projets que j'ai utilisé, j'ai créé...8 procédures stockées, 6 pour utiliser des CTE et du paging, les 2 autres pour des requêtes complexes qui faisaient intervenir 7 ou tables.
Rapport au client, la durée max d'affichage d'une page doit être de 3 secondes, dans le cas d'une page complexe (grille de 100 enregistrements, avec de l'AJAX, et autres), et elle doit tenir ce score avec > 100 requetes/secondes (tests de charge avant MEP)
A noter, dans une page moyenne, le temps passé dans l'appel à SQL server compte pour moins de 10% du temps total.
Partager