Lorsque le frontal d'une base de données MS Access interroge un backend MS Access sur une autre machine via le réseau, est-ce qu'il extrait l'ensemble de la table/base de données/fichier, ou a-t-il un moyen d'extraire uniquement ce dont il a besoin du backend, réduisant ainsi la charge du réseau.
Réponses
Trop de publicités?Le moteur de la base de données Access ne lira que ce dont il a besoin. Cependant, cela peut signifier que plus de données sont transférées sur le réseau que vous ne le pensez.
Par exemple, si la table est indexée de sorte qu'un balayage complet des données n'est pas nécessaire pour trouver votre enregistrement, le système lira d'abord l'index, puis seulement les enregistrements qui satisfont les résultats de la requête. Un minimum de données est déplacé sur le réseau.
Cependant, si vous ne renvoyez qu'une seule ligne d'une grande table où il n'y a pas d'index, la table complète sera transférée sur le réseau. En effet, le processus de requête s'exécute sur la machine cliente et doit lire toutes les données pour effectuer un balayage de la table.
Par conséquent, si vous créez une application d'accès en utilisant cette méthode, assurez-vous que vos tables sont correctement indexées.
C'est difficile de répondre exactement. Voulez-vous dire ouvrir la base de données sur un réseau ?
Je suppose que vous voulez dire que le frontend et le backend sont dans un seul fichier MDB.
Lorsqu'une requête est effectuée (en fonction de la requête), il ne saisit que les données dont il a besoin. Ceci est vrai pour la plupart des bases de données. Cependant, lorsque le fichier est ouvert, l'intégrité de la base de données est vérifiée.
Pour plus d'informations sur le backend de la base de données JET, allez ici : http://en.wikipedia.org/wiki/Microsoft_Jet_Database_Engine