Question

Scénario : Il existe un programme existant (Je ne sais pas ce que la langue) et on m'a demandé aux « formes compactes et d'archives dans la base de données ». Au moment où l'utilisateur ouvre l'application, il prend sur les 2-5min pour charger autour de 27000 records !!! Ma théorie est qu'il se charge tous les enregistrements au démarrage, mais qui pourrait ne pas être la seule raison. Après avoir fait quelques recherches et trouver une fin Retour Access qui semble correct, je trouve aussi les mêmes fichiers d'accès sur 15+ autres actions au sein de la société. Maintenant, cette application a été créée quelque temps autour de 1997 quand je devine l'accès était la norme, mais seraient-ils vraiment l'accaparement des données provenant de bases de données Access 15+? Ce qui semble être la norme pour accélérer ce programme est d'archiver les documents les plus anciens dans une autre base de données d'accès (ce qui est la raison pour laquelle je pense qu'il est tout chargement au démarrage.

Question : J'ai une réunion lundi pour discuter du programme et je me demandais si quelqu'un pourrait suggérer quelques questions utiles, des théories, des solutions, etc. Ce n'est pas que je ne peux pas le faire sur mon propre, je pense qu'un autre point de vue ne peut pas nuire. En outre un autre fait amusant est que je ou ne pas être en mesure d'obtenir le code source, car il peut avoir été créé par un entrepreneur et le code perdu depuis longtemps.

Note Side : Serait-il possible pour l'accès aux anciens dossiers d'auto-archives? Cela reviendrait à les transférer à un autre DB appelé XXXArch.

Merci d'avance. Je vais essayer de répondre à toutes les questions que vous avez.

EDIT :

Heres une mise à jour sur la situation.

Il ressemble à sa seule utilisant une base de données comme le principal et un à archiver. J'ai toujours pas d'avoir mon propre compte utilisateur pour ouvrir l'application, mais quand on regarde dans la base de données il y a une table utilisateur avec l'ID de connexion et le mot de passe (MOT DE PASSE) alors j'ai essayé vous connecter comme un de ces utilisateurs et en sélectionnant simplement quelques-uns données de ne pas modifier quoi que ce soit. Lors de la sélection, je suis en mesure d'obtenir des données presque instantanément et ne voyais aucune du ralentissement que les autres utilisateurs recevaient. Je n'ai toujours pas vu le code source, mais de ce que je peux dire (prendre le exe et le mettre dans le bloc-notes), il semble que cela a été codé en VBA et probablement créé en utilisant MS Access. Il semble également que l'application crée un temp.mdb dans un dossier de données. À l'heure actuelle, il n'a rien en elle. Pas de tables, rien. Je suppose / espère que c'est ce qui ralentit les utilisateurs vers le bas et peut simplement être supprimé pour améliorer les performances. Je vais poster une autre mise à jour une fois que j'obtenir le code source et avoir une meilleure idée de ce qui se ralentir.

Était-ce utile?

La solution

Un couple de choses à considérer:

bases de données Access (MDB) ont tendance à avoir besoin de réparation / compact régulier que vous avez noté dans le titre s'ils sont fréquemment utilisés. Cependant, je l'ai rarement trouvé qu'il aide à la performance plus que minimale. Si elle a été très longtemps le fichier peut ballonnement vraiment grand et qui pourrait faire partie du problème si les utilisateurs y accèdent via une connexion réseau lente.

Quelqu'un va proposer la mise à niveau à un « plus grand » DB comme serveur SQL, que ce soit dans votre entreprise ou dans ce forum. Ne pas le faire jusqu'à ce que vous avez isolé le problème ou si vous avez une raison autre que l'exécution. Il y a une chance raisonnable les problèmes sont causés par la conception d'une mauvaise application ou de l'architecture DB. Lancer un outil plus puissant au problème sans changer l'approche est peu susceptible d'aide.

Un accès DB va sortir max sur les utilisateurs simultanés bien avant qu'il plafonne les données. Est-ce que beaucoup d'utilisateurs (30 +) juste commencer à utiliser le système? Cela pourrait faire partie du problème.

Archivage anciens enregistrements: Vous allez devoir construire quelque chose à faire. Les bonnes nouvelles sont qu'il est pas si difficile.

Accès 15+ bases de données: Etes-vous sûr de l'interface graphique d'extrémité avant est pas écrit dans Access. Il est une architecture commune avec accès à une fin avant MDB chargé sur la machine de l'utilisateur final (copié partout) la connexion à un fichier de données MDB centrale sur le réseau. La meilleure façon de savoir est d'ouvrir les bases de données et voir si elles contiennent seulement des tableaux ou des tableaux + formulaires / rapports.

Autres conseils

Il me semble que votre premier ordre d'affaires devrait être de résoudre ce problème:

Je peut ou peut ne pas être en mesure d'obtenir le code source, car il peut avoir été créé par un entrepreneur et le code perdu depuis longtemps.

À l'heure actuelle, vous nous demandez de spéculer sur les causes et les remèdes pour la lenteur ... sans aucune connaissance de ce qui se passe réellement.

Si vous ne disposez pas du code source, vous ne pouvez pas modifier la base de données back-end à SQL Server, ni quoi que ce soit d'autre.

Cependant, si vous réellement avoir accès aux fichiers de données et sont capables de les éditer, pourquoi ne pas vérifier l'indexation? dossiers 27K est trivial pour toute base de données, y compris l'accès et la lenteur de chargement des données me portent à croire que les tables ne sont tout simplement pas indexés correctement. Si vous examinez les tables et les index ne voyez pas sur les champs évidents, essayez de les ajouter et voir si elle accélère les choses.

Dans le cas contraire, cela signifie que l'application est mal conçu et puisque vous manque le code source, il n'y a pas beaucoup que vous pouvez faire à ce sujet.

Tous les ci-dessus suppose, bien sûr, que l'environnement réseau est approprié pour l'accès / Jet / ACE. Autrement dit, si ces fichiers de base de données sont accessibles sur tout autre qu'un réseau local câblé, alors il n'y a rien ne peut être fait à ce sujet (WAN et WiFi sont complètement pour Jet / ACE).

Enfin, sur le sujet de l'archivage, je pense qu'il n'y a pas de justification pour l'archivage des données jamais à moins que vous êtes vraiment en cours d'exécution contre des limites strictes sur le matériel / logiciel. Dans ce cas, vous n'êtes même pas proche de cela.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top