Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Rapidité d'accès..

10 réponses
Avatar
Driss HANIB
Bonjour à tous,

j'ai créé une base de données comportant de nombreuses tables et pouvant
contenir pa mal de données, comme tout le monde je supppose..
Ces données (comme pour tous) ne doivent pas être perdues.
Alors, mise à part les sauvegardes journalières de la base, je voudrai aussi
scindre cette base en plusieurs bases qui contiendraient les tables de
données et une base ' d'entrée' qui aurait toutes les tables en tables liées
et toutes les requêtes.
Cette base est sur un disque serveur et est interrogée par différents postes
du réseau.
Ce qui me permettrait de faire des compactages plus rapides..
Par contre je voudrai savoir, et c'est là l'objet de mon post, si on ne perd
pas de rapidité d'accès , en tout cas pas trop, en travaillant sur des
tables liées.. ?

merci pour vos réponses

Driss

10 réponses

Avatar
PO2B
Bonjour Driss,

Personnellement j'ai éffectué cette opération sur une base access 2000 et
j'ai singulièrement augmenté le temps de réponse et notamment le temps
d'ouverture de la base. Pourtant une petite base (environ 100 Mo utilisé par
5 ou 6 utilisateurs simultanés)
Si c'était à refaire, je m'abstiendrai.

Mais tu peux tester sur une copie avant de sauter le pas.

Bon courage

PO


"Driss HANIB" a écrit dans le message de news:

Bonjour à tous,

j'ai créé une base de données comportant de nombreuses tables et pouvant
contenir pa mal de données, comme tout le monde je supppose..
Ces données (comme pour tous) ne doivent pas être perdues.
Alors, mise à part les sauvegardes journalières de la base, je voudrai
aussi scindre cette base en plusieurs bases qui contiendraient les tables
de données et une base ' d'entrée' qui aurait toutes les tables en tables
liées et toutes les requêtes.
Cette base est sur un disque serveur et est interrogée par différents
postes du réseau.
Ce qui me permettrait de faire des compactages plus rapides..
Par contre je voudrai savoir, et c'est là l'objet de mon post, si on ne
perd pas de rapidité d'accès , en tout cas pas trop, en travaillant sur
des tables liées.. ?

merci pour vos réponses

Driss



Avatar
Driss HANIB
ok merci

Driss

"PO2B" a écrit dans le message de news:

Bonjour Driss,

Personnellement j'ai éffectué cette opération sur une base access 2000 et
j'ai singulièrement augmenté le temps de réponse et notamment le temps
d'ouverture de la base. Pourtant une petite base (environ 100 Mo utilisé
par 5 ou 6 utilisateurs simultanés)
Si c'était à refaire, je m'abstiendrai.

Mais tu peux tester sur une copie avant de sauter le pas.

Bon courage

PO


"Driss HANIB" a écrit dans le message de news:

Bonjour à tous,

j'ai créé une base de données comportant de nombreuses tables et pouvant
contenir pa mal de données, comme tout le monde je supppose..
Ces données (comme pour tous) ne doivent pas être perdues.
Alors, mise à part les sauvegardes journalières de la base, je voudrai
aussi scindre cette base en plusieurs bases qui contiendraient les tables
de données et une base ' d'entrée' qui aurait toutes les tables en tables
liées et toutes les requêtes.
Cette base est sur un disque serveur et est interrogée par différents
postes du réseau.
Ce qui me permettrait de faire des compactages plus rapides..
Par contre je voudrai savoir, et c'est là l'objet de mon post, si on ne
perd pas de rapidité d'accès , en tout cas pas trop, en travaillant sur
des tables liées.. ?

merci pour vos réponses

Driss







Avatar
3stone
Salut,

"Driss HANIB"
| j'ai créé une base de données comportant de nombreuses tables et pouvant
| contenir pa mal de données, comme tout le monde je supppose..
| Ces données (comme pour tous) ne doivent pas être perdues.
| Alors, mise à part les sauvegardes journalières de la base, je voudrai aussi
| scindre cette base en plusieurs bases qui contiendraient les tables de
| données et une base ' d'entrée' qui aurait toutes les tables en tables liées
| et toutes les requêtes.
| Cette base est sur un disque serveur et est interrogée par différents postes
| du réseau.
| Ce qui me permettrait de faire des compactages plus rapides..
| Par contre je voudrai savoir, et c'est là l'objet de mon post, si on ne perd
| pas de rapidité d'accès , en tout cas pas trop, en travaillant sur des
| tables liées.. ?


Une base partagée se doit d'être scindée...
même si quelqu'un dit avoir une mauvaise expérience sans se l'expliquer ;-)

La base sur le serveur ne contiendra que les tables, rien d'autre!
Les bases sur les postes des utilisateurs contiendrons tout le reste et auront
les tables liées à la base du serveur.

Bien sûr, Access étant par défaut, serveur de fichiers, il y a quelques
grossières erreurs à ne pas commettrent. Erreurs grossières qui ne sont
pas détectées (parce que non remarquées) avec une base local.
Après, on met cela sur le dos de la base scindée ;-))

PS: Perso, toutes mes bases sont toujours scindées, même lorsqu'elle
sont exclusivement locales... cela apporte une incroyable résistance
à la corruption (toujours possible par ailleurs).

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
PO2B
Bonjour 3Stone,

Tu as raison, je n'explique pas la raison mais je ne la connais pas.
J'avais cette base complête qui fonctionnait très bien et depuis qu'elle
est scindée, elle est beaucoup plus lente. Son ouverture notamment
prend plus d'une vingtaine de secondes (c'est long).

Par contre, pour l'administration, c'est très pratique puisqu'on peut
travailler sur la partie
formulaires et requêtes en faisant une copie) sans arrêter les utilisateurs.

Voilà mon expérience. mais cje suis peut-être un cas isolé.

Bonne journée.


"3stone" a écrit dans le message de news:
%2381$
Salut,

"Driss HANIB"
| j'ai créé une base de données comportant de nombreuses tables et pouvant
| contenir pa mal de données, comme tout le monde je supppose..
| Ces données (comme pour tous) ne doivent pas être perdues.
| Alors, mise à part les sauvegardes journalières de la base, je voudrai
aussi
| scindre cette base en plusieurs bases qui contiendraient les tables de
| données et une base ' d'entrée' qui aurait toutes les tables en tables
liées
| et toutes les requêtes.
| Cette base est sur un disque serveur et est interrogée par différents
postes
| du réseau.
| Ce qui me permettrait de faire des compactages plus rapides..
| Par contre je voudrai savoir, et c'est là l'objet de mon post, si on ne
perd
| pas de rapidité d'accès , en tout cas pas trop, en travaillant sur des
| tables liées.. ?


Une base partagée se doit d'être scindée...
même si quelqu'un dit avoir une mauvaise expérience sans se l'expliquer
;-)

La base sur le serveur ne contiendra que les tables, rien d'autre!
Les bases sur les postes des utilisateurs contiendrons tout le reste et
auront
les tables liées à la base du serveur.

Bien sûr, Access étant par défaut, serveur de fichiers, il y a quelques
grossières erreurs à ne pas commettrent. Erreurs grossières qui ne sont
pas détectées (parce que non remarquées) avec une base local.
Après, on met cela sur le dos de la base scindée ;-))

PS: Perso, toutes mes bases sont toujours scindées, même lorsqu'elle
sont exclusivement locales... cela apporte une incroyable résistance
à la corruption (toujours possible par ailleurs).

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



Avatar
Driss HANIB
merci pour ces précisions 3stone.
Par contre vaut-il mieux mettre toutes les tables dans une seule base ou
alors dans plusieurs bases (groupées par themes..) ?
merci

Driss

"3stone" a écrit dans le message de news:
%2381$
Salut,

"Driss HANIB"
| j'ai créé une base de données comportant de nombreuses tables et pouvant
| contenir pa mal de données, comme tout le monde je supppose..
| Ces données (comme pour tous) ne doivent pas être perdues.
| Alors, mise à part les sauvegardes journalières de la base, je voudrai
aussi
| scindre cette base en plusieurs bases qui contiendraient les tables de
| données et une base ' d'entrée' qui aurait toutes les tables en tables
liées
| et toutes les requêtes.
| Cette base est sur un disque serveur et est interrogée par différents
postes
| du réseau.
| Ce qui me permettrait de faire des compactages plus rapides..
| Par contre je voudrai savoir, et c'est là l'objet de mon post, si on ne
perd
| pas de rapidité d'accès , en tout cas pas trop, en travaillant sur des
| tables liées.. ?


Une base partagée se doit d'être scindée...
même si quelqu'un dit avoir une mauvaise expérience sans se l'expliquer
;-)

La base sur le serveur ne contiendra que les tables, rien d'autre!
Les bases sur les postes des utilisateurs contiendrons tout le reste et
auront
les tables liées à la base du serveur.

Bien sûr, Access étant par défaut, serveur de fichiers, il y a quelques
grossières erreurs à ne pas commettrent. Erreurs grossières qui ne sont
pas détectées (parce que non remarquées) avec une base local.
Après, on met cela sur le dos de la base scindée ;-))

PS: Perso, toutes mes bases sont toujours scindées, même lorsqu'elle
sont exclusivement locales... cela apporte une incroyable résistance
à la corruption (toujours possible par ailleurs).

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



Avatar
Driss HANIB
Rebonjour,

je reviens sur le fractionnement de la bdd.
En fait "j'attaque cette base" par l'intermédiaire d'un programme VB situé
sur chaque poste.
Faut il mettre la base qui contient toutes les requetes sur chaque poste et
la base avec les tables sur un serveur ou alors mettre les deux bases sur le
serveur ?
Ce qui m'intéresse c'est la robustesse...

Driss

"3stone" a écrit dans le message de news:
%2381$
Salut,

"Driss HANIB"
| j'ai créé une base de données comportant de nombreuses tables et pouvant
| contenir pa mal de données, comme tout le monde je supppose..
| Ces données (comme pour tous) ne doivent pas être perdues.
| Alors, mise à part les sauvegardes journalières de la base, je voudrai
aussi
| scindre cette base en plusieurs bases qui contiendraient les tables de
| données et une base ' d'entrée' qui aurait toutes les tables en tables
liées
| et toutes les requêtes.
| Cette base est sur un disque serveur et est interrogée par différents
postes
| du réseau.
| Ce qui me permettrait de faire des compactages plus rapides..
| Par contre je voudrai savoir, et c'est là l'objet de mon post, si on ne
perd
| pas de rapidité d'accès , en tout cas pas trop, en travaillant sur des
| tables liées.. ?


Une base partagée se doit d'être scindée...
même si quelqu'un dit avoir une mauvaise expérience sans se l'expliquer
;-)

La base sur le serveur ne contiendra que les tables, rien d'autre!
Les bases sur les postes des utilisateurs contiendrons tout le reste et
auront
les tables liées à la base du serveur.

Bien sûr, Access étant par défaut, serveur de fichiers, il y a quelques
grossières erreurs à ne pas commettrent. Erreurs grossières qui ne sont
pas détectées (parce que non remarquées) avec une base local.
Après, on met cela sur le dos de la base scindée ;-))

PS: Perso, toutes mes bases sont toujours scindées, même lorsqu'elle
sont exclusivement locales... cela apporte une incroyable résistance
à la corruption (toujours possible par ailleurs).

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



Avatar
3stone
Salut,

"Driss HANIB"
| Par contre vaut-il mieux mettre toutes les tables dans une seule base ou
| alors dans plusieurs bases (groupées par themes..) ?

Je ne vois pas trop l'avantage à scinder la base données...
Par ailleurs, on ne peut créer les relations entre ces tables, qu'au
sein d'une même base.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
3stone
re,

"Driss HANIB"
| je reviens sur le fractionnement de la bdd.
| En fait "j'attaque cette base" par l'intermédiaire d'un programme VB situé
| sur chaque poste.
| Faut il mettre la base qui contient toutes les requetes sur chaque poste et
| la base avec les tables sur un serveur ou alors mettre les deux bases sur le
| serveur ?
| Ce qui m'intéresse c'est la robustesse...

Si tu utilises VB (et non le VBA d'Access) je dirais que tu peux (dois) aussi
te passer de la base locale; sinon, inutile d'utiliser le VB ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Driss HANIB
Merci,

c'est ce que je fais pour l'instant, mais je voulais être sur.

Par contre j'utilise le DAO (j'ai commencé comme cela) au lieu de l'ADO..
J'ai de temps en temps, lorsque des accès sont fraits "excatement" au même
moment sur une table où il y a création d'un numéro unique (ici non
automatique car lié au jour et au quantième dans la journée) . une réponse
qui repart identique pour les deux requete
le principe : le numéro attribué est de la forme AAAAMMJJ.NN : une requête
recherche le dernier numéro (NN) attribué pour la date (AAAAMMNN),
l'incrémente, sauvegarde le nouveau numéro dans un enregistrement avec un
numéro incrémental.
Par contre si entre temps un autre poste pose la même requête, tant que la
sauvegarde de la première n'a pas été faite, c'est la même réponse qui sort
: ler numéro sera donc attribué 2 fois : or il DOIT être unique.
Comment "verrouiller" l'accès en DAO (et donc gérer le verrouillage pour le
deuxième) ? avec ADO, je crois qu'il faut définir les "curseurs" mais je ne
maitrise pas et je ne sais pas si cedla existe en DAO.
Si parfois tu as des infos ou des liens dessus..
merci en tout cas des précisions pour la première partie (structure et
porganisation de la BDD)

Driss

"3stone" a écrit dans le message de news:
%23r%
re,

"Driss HANIB"
| je reviens sur le fractionnement de la bdd.
| En fait "j'attaque cette base" par l'intermédiaire d'un programme VB
situé
| sur chaque poste.
| Faut il mettre la base qui contient toutes les requetes sur chaque poste
et
| la base avec les tables sur un serveur ou alors mettre les deux bases
sur le
| serveur ?
| Ce qui m'intéresse c'est la robustesse...

Si tu utilises VB (et non le VBA d'Access) je dirais que tu peux (dois)
aussi
te passer de la base locale; sinon, inutile d'utiliser le VB ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



Avatar
3stone
Salut,

"Driss HANIB"
| Par contre j'utilise le DAO (j'ai commencé comme cela) au lieu de l'ADO..
| J'ai de temps en temps, lorsque des accès sont fraits "excatement" au même
| moment sur une table où il y a création d'un numéro unique (ici non
| automatique car lié au jour et au quantième dans la journée) . une réponse
| qui repart identique pour les deux requete
| le principe : le numéro attribué est de la forme AAAAMMJJ.NN : une requête
| recherche le dernier numéro (NN) attribué pour la date (AAAAMMNN),
| l'incrémente, sauvegarde le nouveau numéro dans un enregistrement avec un
| numéro incrémental.
| Par contre si entre temps un autre poste pose la même requête, tant que la
| sauvegarde de la première n'a pas été faite, c'est la même réponse qui sort
| : ler numéro sera donc attribué 2 fois : or il DOIT être unique.
| Comment "verrouiller" l'accès en DAO (et donc gérer le verrouillage pour le
| deuxième) ? avec ADO, je crois qu'il faut définir les "curseurs" mais je ne
| maitrise pas et je ne sais pas si cedla existe en DAO.
| Si parfois tu as des infos ou des liens dessus..
| merci en tout cas des précisions pour la première partie (structure et
| porganisation de la BDD)


Le numéroauto doit être clé primaire pour garantir l'unicité...

Pour les mises à jour simultanées, il faut intercepter le code d'erreur
et en cas de collision, relancer la mise à jour... ce qui incrémentera
automatiquement la valeur de la PK

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)