Bonjour,

Je suis en train de lire un bouquin sur la modélisation de bases de données et on mentionne la réticence de certains informaticiens à créer N tables car cela crée M jointures et ils disent que les performances en souffrent. Si un développeur me dit que les jointures c'est mal et qu'il préfère une table fourre-tout avec 200 colonnes, je vais lui répondre que ce sera mauvais car :
1) certaines données seront redondantes et donc cela prendra plus de temps pour les mettre à jour
2) lors d'un update un verrou sera posé sur chaque ligne mise à jour et donc ça va bloquer les autres transactions qui veulent mettre à jour les autres colonnes alors qu'avec N tables, on bloque seulement 1 table et donc N-1 tables sont accessibles elles aussi pour les mises à jour.

En revanche, s'il me dit qu'une jointure entre deux champs VARCHAR2(20) sur deux tables est très consommateur de ressources car il faut vérifier chaque caractère et qu'il préfère une seule table, je lui réponds quoi?
Je pourrais dire qu'on va pas vérifier 40 caractères à chaque jointure car dès qu'un caractère n'est pas correct on arrête la comparaison et on passe à la ligne suivante; du moins j'espère que c'est codé comme cela.

Bon, si vous avez des idées, des arguments imparables je suis preneur.