PDA

Vollständige Version anzeigen : grobes Geschwindigkeitproblem


alexander, der große
24.09.2001, 12:14
hi,

ich habe meine Datenbank auf einem win2000 , 400 mhzm, 256 Ram system entwickelt, laufen soll es aber auf einem Win95, 200 Mhz, 64 Ram system, also bei meinem Formularen am Entwicklungssystem dauert es 5 sec. bis die berechnungen abgeschlossen sind, beim Anwendungssystem dauert es sage und schreibe über 1 minute.

Jetzt meine frage woran kann, das liegen, Ich hab das Problem das ca. 50 Abfragen pro Berechnung durchgeführt werden, das muß aber leider so sein, ich hab mal was von Indizieren gehört, habe aber keine ahnung wie das geht,

Also kann mir wer weiterhelfen, auch vielleicht ein Tipp wie ich die Anwendungshardware am günstigsten tunen kann, thnx

alex

kama
24.09.2001, 12:25
Hallo
Bei deinem Problem fällt mir nur ein
Hubraum ist durch nichts zu ersetzen außer durch Hubraum. :)
Im Ernst
Welche Berchnung erfordert 50 Abfragen?
Ursachen für Geschwindigkeitsprobleme liegen fasst immer im design der DB.
Und gerade bei dir sollte man wirklich alles checken.

Ist es vieleicht sinnvoll berechnungen während der dateneingabe durchzuführen und die Ergebnisse abzuspeichern.

Deine Performanceprobleme sind auf jedenfall bei den jetztigen konfiguration normal.

Sorry aber, das solltest du nochmal überdenken

choo choo romero
24.09.2001, 12:36
danke für deinen tipp kama, aber das hab ich auch gewußt das es an meinen berechungen liegt, aber du mußt dir vorstellen, ich habe 50 Felder in dieser datenbank, für jedes feld gelten andere Paramter, besonders was das datum betrifft, also muß ich für jedes Feld eine abfrage, machen, eingegeben werden nur 3 dinge und die brauche ich alle um meine Brechnungen durchzuführen, also den Programm code der hinterdem start meiner berechnung liegt, ist gigantische 60 Seiten lang, und da sind auch die 50 abfragen drinnen, also Programmiertechnisch ist nicht viel rauszuholen, ich glaube auch nicht das die 60 Seiten, das problem sind, vielmehr sind es die Abfragen, abgesehen davon, programmiere ich schon ein paar jährchen, und ich bin froh diese programm hinbekommen zu haben, da es sehr komplex ist, und nicht immer logisch,(den Grund dafür zu nennen wäre ein seitenlanges thema). Das Problem liegt darin das es ein Programm sein soll, das bis jetzt vom Gefühl des Anwenders abhängig war, diesen Gedankenvorgang zu erkennen und in VBA umzusetzten war ziehmlich hart. Lange Rede, kurzer Sinn, ich gebe zu kein Spezialist in Sachen Datenbankmodellierung zu sein, da könnte es auch einige Probleme geben, (zbsp: in Sachen Redundanz). Aber dafür ist es jetzt zu spät ich brauch ne schnelle lösung, also meiner meinung nach kann das nur mehr mit hardware maßnahmen funktionieren, also meinst du mit Hubraum, Arbeitsspeicher oder?

thnx

choo choo

kama
24.09.2001, 13:04
hallo
Ja nachher ist immer gut reden ;)

Hubraum=MHZ fürs rechnen + ram fürs speichern deiner temporären Tabellen aus den Abfragen.

Du kannst mal schauen welche Indizis du in den Tabellen anbringen kannst. Sie sollten sich insbesondere auf 'Leitfelder' der einzelnen Datensätze beziehen.

Ansonsten bleibt dir nur die möglichkeit deine Kunden auf den leistungshunger der von Ihm gewünschten Features hinzuweisen.

Und Ihm raten ein Rechner mit entsprechendem "Hubraum" zu kaufen

Viel Glück

alexander der große
24.09.2001, 13:23
also, ich bin froh das wenigstens einer mir schreibt, also kama, das mit den Indizies ist doch nichts anderes als Primärschlüssel, oder? wenn ja, das hab ich schon wenn nein, könnte ich nen Einführungskurs in Datenbankaufbau gebrauchen oder?

Also, thnx noch mal für die mühe

alex

hermi
24.09.2001, 14:00
tschuldiung,wenn ich mich reinmische, aber ich glaube, es ist im Sinn von Kama.

Primärschlüssel und Index sind zwei verschiedene Sachen.
Schau mal in die Onlinehilfe, da ist das ganz gut erklärt.

cu hermi

kama
24.09.2001, 14:01
Hallo
Ein Primärschlüssel hat einen Index ist aber keiner
Es ist also nicht dasselbe

Als Beispiel eine adressdatenbank

Kundennummer Index=Ja(keine Duplikate)
Vorname kein Index
Name Index =Ja(duplicate möglich]
Ort index =Ja(duplicate möglich]
PLZ Index =Ja(duplicate möglich]
Straße kein Index
Geburtsdatum kein Index
Beruf Kein Index

Das heißt also da wo mit größter Wahrscheinlichkeit gesucht, gruppiert oder berechnet wird sollte man den index legen.

soll die datenbank automatisch per Serienbrief zum Geburtstag gratulieren reicht ein index auf Geburtsdatum

Ich befürchte aber das die Power doch nur über Hubraum zu erreichen ist.

Schau aber auch mal unter
Extras/Analyse/Leistung
nach ob Access dir nicht etwas helfen kann

alexander der große
24.09.2001, 14:27
also thnx
hast mir wirklich weitergeholfen,

mfg

alexander der große