Frage

Szenario : Es ist ein Vermächtnis-Programm (nicht sicher, was Sprache), und ich habe zu „Compact und Archiven Formulare in der Datenbank“ gefragt worden. Im Moment, wenn der Benutzer die Anwendung öffnet es über 2-5min nimmt um 27.000 Datensätze zu laden !!! Meine Theorie ist, dass es alle Datensätze auf Start-up wird geladen, aber das ist vielleicht nicht der einzige Grund sein. Nachdem ich einen Access-Backend einige graben und fand, dass Aussehen zu korrigieren, fand ich auch die gleichen Zugriffs Dateien auf 15+ anderen Aktien innerhalb des Unternehmens. Nun wurde diese Anwendung erstellt irgendwann um 1997, als ich vermuten Zugang war die Norm, aber würden sie wirklich Daten von 15+ Access-Datenbanken werden greifen? Was scheint die Norm zu Geschwindigkeit zu hoch ist dieses Programm der älteren Datensätze in einer anderen Access-Datenbank zu archivieren (die, warum ich es denke ich ist alles Laden bei der Inbetriebnahme.

Frage : Ich habe eine Sitzung am Montag, das Programm zu diskutieren und wurde gefragt, ob jemand einige nützlichen Fragen vorschlagen könnte, Theorien, Lösungen, etc. Es ist nicht, dass ich das nicht tun kann, auf meinem eigene, ich glaube, nur eine andere Perspektive nicht schaden könnte. Auch eine andere Spaß Tatsache ist, dass ich kann oder nicht in der Lage sein, den Quellcode zu erhalten, weil es von einem Auftragnehmer und den Code verloren vor langer Zeit erstellt wurden.

Side Hinweis: : Wäre es möglich, Zugang zu Auto-Archiv alter Aufzeichnungen? Das würde bedeuten, sie in einer anderen DB genannt XXXArch zu übertragen.

Vielen Dank im Voraus. Ich werde versuchen, alle Fragen zu beantworten, die Sie haben.

Bearbeiten :

Heres ein Update auf die Situation.

Es sieht aus wie seine nur eine Datenbank als Haupt verwenden und eine zu archivieren. Ich habe noch noch mein eigenes Benutzerkonto haben, um die Anwendung zu öffnen, aber wenn sie in der Datenbank suchen gibt es eine Benutzertabelle mit der Anmelde-ID und das gleiche Passwort (Passwort), so habe ich versucht, in so einer dieser Benutzer anmelden und einfach einige der Auswahl Ändern von Daten nichts. Bei der Auswahl konnte ich Daten fast sofort bekommen und wurde nicht von der Abschwächung zu sehen, dass die anderen Benutzer bekamen. Ich habe noch nicht den Quellcode gesehen, aber von dem, was ich sagen kann (die exe zu nehmen und es in Notepad setzen) es sieht aus wie es in VBA und wahrscheinlich erstellt mit MS Access codiert wurde. Auch scheint es, dass die Anwendung eine temp.mdb in einem Datenordner erstellt. Derzeit hat es nichts drin. Keine Tabellen, nichts. Ich gehe davon aus / die Hoffnung, dass das ist, was die Benutzer verlangsamt und kann nur gelöscht werden, die Leistung zu verbessern. Ich werde ein weiteres Update veröffentlichen, sobald ich den Quellcode erhalten und eine bessere Vorstellung davon haben, was es verlangsamt.

War es hilfreich?

Lösung

Ein paar Dinge zu beachten:

Access (MDB) Datenbanken sind in der Regel regelmäßige compact / Reparatur benötigen, wie Sie im Titel darauf hingewiesen, wenn sie in der häufigen Gebrauch sind. Ich habe jedoch nur selten festgestellt, dass es Leistung mehr hilft als minimal. Wenn es eine wirklich lange Zeit hat, kann die Datei wirklich groß aufblähen und das könnte einen Teil des Problems sein, wenn die Nutzer sie über eine langsame Netzwerkverbindung zugreifen.

Jemand wird ein Upgrade auf vorschlagen zu einem „Bigger“ DB wie SQL Server, entweder in Ihrem Unternehmen oder in diesem Forum. Tu das nicht, bis Sie das Problem isoliert haben oder es sei denn, Sie haben einen anderen Grund als Leistung. Es gibt eine gute Chance der Probleme durch schlechtes Anwendungsdesign oder DB-Architektur verursacht werden. ein leistungsfähiges Werkzeug, das Problem zu werfen, ohne den Ansatz zu ändern ist unwahrscheinlich, zu helfen.

Ein Access DB auf gleichzeitige Benutzer zu max out wird, lange bevor es auf Daten maxes. Hat eine Menge von Benutzern (30+) beginnt gerade mit dem System? Das könnte einen Teil des Problems sein.

Archivierung alte Datensätze: Sie werden etwas zu bauen haben, dies zu tun. Die gute Nachricht ist, dass es gar nicht so schwer ist.

Zugriff auf mehr als 15 Datenbanken: Sind Sie sicher, dass das vordere Ende GUI ist nicht in Access geschrieben. Es ist eine gemeinsame Architektur mit Zugang einen MDB Frontend auf den Computer des Endbenutzers geladen zu haben (überall kopiert) zu einer zentralen MDB-Datei Verbindungs ??aus im Netzwerk. Der beste Weg, zu sagen, ist es, die Datenbanken zu öffnen und sehen, ob sie nur Tabellen enthalten oder Tabellen + Formulare / Berichte.

Andere Tipps

Scheint mir Ihre erste Aufgabe soll dieses Problem zu beheben:

ich kann oder nicht in der Lage sein, den Quellcode zu erhalten, weil sie vorher von einem Unternehmer und dem Code verloren lange erstellt wurden.

Wie es jetzt aussieht, Sie fragen uns über die Ursachen und Abhilfen für die Langsamkeit ... ohne Kenntnis darüber zu spekulieren, was eigentlich los ist.

Wenn Sie nicht Quellcode haben, können Sie die Back-End-Datenbank auf SQL Server ändern, noch irgendetwas anderes.

Allerdings, wenn Sie zu tun haben tatsächlich Zugriff auf die Daten-Dateien und in der Lage sind zu bearbeiten sie, warum nicht die Indizierung überprüfen? 27K Aufzeichnungen ist trivial für jede Datenbank, einschließlich Access und Langsamkeit in dem Laden der Daten zu mir legen nahe, dass die Tische sind einfach nicht korrekt indiziert. Wenn Sie die Tabellen und sehen keine Indizes auf offensichtliche Felder untersuchen, dann versuchen sie hinzufügen und sehen, ob es Dinge beschleunigt.

Wenn es nicht der Fall ist, dann bedeutet es, die App schlecht konzipiert ist und da Sie Quellcode fehlt, gibt es nicht viel Sie dagegen tun können.

Alle oben setzt natürlich voraus, dass die Netzwerkumgebung für Access / Jet / ACE geeignet ist. Das heißt, wenn diese Datenbank-Dateien über etwas anderes als ein verkabeltes LAN zugegriffen werden, dann gibt es nichts, was dagegen getan werden kann (WAN und WLAN ist vollständig aus für Jet / ACE).

Zuletzt, zum Thema Archivierung, denke ich, dass es keine Rechtfertigung für je Datenarchivierung, wenn Sie wirklich gegen harte Grenzen für Hardware / Software ausgeführt werden. In diesem Fall sind Sie nicht einmal in der Nähe, dass.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top