Frage

Ein paar Fragen auf MS Access-Datenbanken -

Größe: Gibt es auf die Größe einer Access-Datenbank begrenzt? Der Grund, warum ich frage ist, dass wir eine Access-Datenbank, die ein paar einfache Tabellen hat. Die Größe des db beträgt etwa 1 GB. Wenn ich auf eine Abfrage zu tun, sehe ich es mehr als 10 Minuten, um zu laufen.

Mit dem richtigen Indizierung sollte MS Access der Lage sein, dies zu umgehen, oder gibt es grundlegende Einschränkungen für die Technologie.

Dies ist MS Access XP.

Auch dann, wenn MS Access Unterstützung db Transaktionen, Commit und Rollback?

War es hilfreich?

Lösung

Sie werden viele verschiedene Antworten bekommen hier, aber meiner Meinung nach Zugang ist einfach nicht da als skalierbare Lösung. Dabei spielt es keine handhaben Multi-User-Situationen sehr gut, wie man 1 GB in der Größe zu nähern beginnen, Stabilität beginnt ein wichtiges Anliegen worden, und in Wirklichkeit ist es hat einfach nicht die Leistung.

In Bezug auf Transaktionsunterstützung finden Sie unter diese Microsoft Artic le.

Auch hier ist ein Artikel, der eigentlich eine gute Mehrheit weist darauf hin, Einschränkungen des Zugangs .

Andere Tipps

In Antwort -

Größe: Die maximale Größe einer Access-Datenbank ist 2 GB.

Transaktionen:. Die Transaktionen werden vollständig durch die darunter liegenden Jetdatenbankengine unterstützt

Aus der Vergangenheit ich geneigt bin zu sagen, dass Sie wahrscheinlich die maximal nutzbare Größe schlagen und sollen vielleicht überlegen zu SQL Server Express Upsizing.

Persönlich habe ich das ‚nutzbare‘ Limit zu sein in das paar hundert Megabyte-Bereich gefunden.

Der Zugriff ist für kleine Datenbanken entworfen und gedacht. Für große, dh diejenigen, mehr als nur etwas, das Sie und ein paar wenige Leute-verwenden, sollten Sie bei einem „echten“ RDBMS wie SQL Server suchen, Oracle, DB2, MySQL, etc.

Bearbeiten - siehe http: //www.blueclaw-db .com / vb_transaction_processing.htm für eine Art und Weise Geschäfte mit Zugang zu behandeln. Offenbar ist es nicht heimisch.

Die maximale Größe einer Access-Datenbank ist 2 GB. Sie können mit verknüpften Tabellen in anderen Dateien dieses Problem umgehen, aber es ist wahrscheinlich Zeit, um eine robustere Datenbank zu verwenden, wenn Sie bereits Performance Probleme auftreten werden.

Meine Empfehlung wäre, zu betrachten SQL Server Compact , das ist eine no-cost, dateibasierte Datenbank oder, noch besser, SQL Server Express , das ist eine no-cost "lite" Version von SQL Server, die mehrere Benutzer und die Interoperabilität mit SQL Server unterstützt. Beide begrenzen Sie zu 4 GB-Datenbanken.

Alle Produkte werden erwähnt, einschließlich Zugang, Unterstützung Transaktionen.

Ich bin mir nicht sicher, ob sie noch da in der XP-Version, aber in Access 97, gibt es kompakt und Reparaturmöglichkeiten. Wenn diese noch Optionen sind, können sie helfen.

Während dies viele Jahre zurück zu einer Zeit, zu gehen, wenn die Kosten für den Eintritt in eine SQL Server-Installation waren so unerschwinglich wie Oracle, einer meiner Kunden wurde Zugang zu versuchen, einen Inbound Call Center zu verwalten.

Wir sprechen über VLDB-sehr große Datenbank-Konzepte 40 Millionen Zeilen. Das war während der Ära der Telefongesellschaften Anrufer-ID Ausrollen und bieten ihre Teilnehmer eine Möglichkeit, ein kostenloses Anrufer-ID-Gerät zu empfangen. Wegen der Kosten contraints hatten sie meine Bitten zu ignorieren, um die SQL Server-Investition.

In der Praxis schien es, dass Zugang bei etwa 800MB gestürzt. Wir partitionierten Tabellen in mehrere Access-Datenbanken die Last zu bewältigen. Ob Sie es glauben oder nicht, es war wunderschön. Der Kunde war dankbar.

In der Praxis wird die Verfügbarkeit des SQL Express gegeben, würde ich auch empfehlen, diesen Weg gehen.

Ich hat den Eindruck, die Zugang Newsgroup im Laufe der Jahre aus der Lektüre ist, dass ACE / Jet-Engine (.accdb, .mdb oder MDE-Datei) heute nur empfohlen, wenn MS Access als RAD formularbasierte Entwicklungsumgebung gebundene Formen verwenden. Wenn Sie nicht über eine Access-Front dann Ende haben, sind einige Argumente für einen ACE / Jet Back-End, wenn die viel besser skalierbar bedenken (und fähig) Alternativen: SQL Server Express oder SQL Server Compact Edition für MS-Shops, MySQL, usw.

Als Transaktionsunterstützung im ACE / Jet-Engine Reagrds, ja es ist vorhanden und heimisch. Eine andere Antwort auf einen Artikel verknüpft über Transaktionen über DAO: beachten Sie, dass viele Aspekte der DAO beschränkt sind, weil ihre Entwicklung nacheilt des Motors und Transaktionen ein Beispiel. Glücklicherweise können Sie SQL DCL verwenden: BEGIN TRANSACTION, COMMIT TRANSACTION, ROLLBACK TRANSACTION, etc Dinge zu erledige nicht möglich, mit DAO z.B. verschachtelte Transaktionen. SQL DCL erfordert die Access-Schnittstelle in ANSI-92-Abfragemodus zu sein; ADO verwendet, wird funktionieren, weil ADO diesen Modus nativ verwendet. Weitere Einzelheiten finden Sie unter:

erweiterte Microsoft Jet SQL für Access 2000

Jet kann eine sehr gute Datenspeicher für eine beliebige Anzahl von Desktop-Entwicklungsplattformen, nicht nur mit Access selbst. Es ist immer die erste Wahl für VB-Entwickler war und ist (aus gutem Grund).

A 1 GB MDB, die voraussichtlich nicht viel wachsen soll kein Problem in Bezug auf Geschwindigkeit und Zuverlässigkeit sein. Wenn es langsam ist, dann haben Sie es nicht richtig indiziert, oder Sie schreiben sehr ineffizient SQL. Ein Beispiel für ineffiziente SQL Anwendung wäre WHERE-Klauseln auf Ausdrücke, die daher keine Indizes verwenden können - ein Beispiel wäre

WHERE Year([MyTable].[MyDate]) = 2002

im Gegensatz zu

WHERE MyTable.MyDate Between #1/1/2002# And #12/31/2002#

Wenn Sie Stabilitätsprobleme sind (dh, rezidivierende Korruption), das ist ein Problem, das behandelt werden muss - es ist in der Regel aufgrund menschlicher Fehler, Hardwareproblem oder Software-Probleme (wie AV-Software mit interner Jet Schreiboperationen zu stören) .

Aber der wichtigste Faktor ist, wie schnell der MDB wächst. Wenn Sie innerhalb von 5 Jahren die historischen Wachstumsrate und Ansatz 2GBs extrapolieren heraus, würde ich sagen, Sie bald Upsizing müssen. Wenn es mehr wie 10 Jahre ist, sollten Sie es wahrscheinlich ohnehin tun. Wenn es 20 Jahre, dann, nicht so sehr.

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