Bonjour,
je vais vous décrire le mode de fonctionnement de nos bases de données, j'aimerai votre avis.
Toutes nos bases de données sont stockées sur le serveur.
Les utilisateurs se connectent sur les bases de données dans lesquelles ils trouvent les tables, les requetes, les formulaires, les états, grosso modo tout le toutim.
Jusqu'ici ca allait encore, car nous sommes une petite boite.
Suite à différents projets, nous avons été amené à lier créer des tables liées entre les différentes bases de données. Et à créer les requêtes et les formulaires et sous formulaires (utilisant ces tables liées) qui vont avec.
J'ajoute à cela que bien entendu il y a toujours plusieurs utilisateurs sur toutes les bases.
Ex de Pb rencontré, plus en détail:
J'ai un utilisateur qui se connecte à sa base de données sur le serveur.
La base utilise 9 tables liées et seulement une seule propre à elle-même.
Ce matin il a ouvert un formulaire utilisant ces 9 + 1 tables et il me dit qu'il a attendu 30 min. C'est peut être exagéré mais c'est très ennuyeux....
Sur ces 9 tables liées, il n'y en a qu'un qui soit tres grosse avec plein de champs; les 8 autres ne comportent que 2 champs avec une dizaine d enregistrements chacun.
J'ai trouvé des propositions d'améliorations sur ces liens suivants:
http://officesystem.access.free.fr/optimisation.htm
http://groups.google.ca/group/microsoft.public.fr.access/msg/5c83ceb63f4f6933?q=tables+li%C3%A9es+r%C3%A9seau+access&hl=fr&lr=lang_fr&ie=UTF-8&oe=UTF-8&rnum=1
A cela:
je me demande si il ne faudrait pas séparer les tables , qui resteraient sur le serveur, des requetes, formulaires et états, qui seraient sur les machines locales, et qui utiliseraient les tables liées. C'est quelquechose dont j'ai quelquefois entendu parler.
Quelles implications cela aurait il?
Est ce que la performance qui serait gagné par le pauvre utilisateur qui attend 30 minutes, ne se ferait pas au détriment de ceux qui utilisent la base qui contient physiquement les 9 tables, par ex?
Est ce qu'on gagne rééllement en performance, en ouvrant un formulaire local qui utilise une table sur le serveur, ou en utilisant une requete locale avec une table qui serait sur le serveur?
Est ce que j'aurai intéret à mettre toutes mes tables dans une seule et même base de données sur le serveur pour optimiser au mieux, ou est il envisageable d'utiliser plusieurs bases de données avec plusieurs tables sur le serveur, sans que les performances soient dégradées?
Avez vous d'autres idées d'implications?
Un grand merci pour vos réponses
Patrice
Partager