Autor Thema: Datenbank öffnen und wechsel zwischen Ansichten wird immer langsammer  (Gelesen 4315 mal)

Offline Kadlec

  • Senior Mitglied
  • ****
  • Beiträge: 489
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Eine Db wird immer langsammer und ich habe leider keine Vergleichswerte ob das Normal ist. Die Db hat eine grösse von 407 Mb (25 538 docs), und das öffnen dauert mitunter ca. 67 sec.

Als "Bremsen" habe ich evt. zwei Felder die Berechnet sind,
dort stecken auch einige Lookups drin.
Da die Felder aber nur Berechnet werden sollen wenn sich ein anderes Feld ändert, habe ich jetzt die Formel auf @If(@IsDocRecalculated;... erweitert, subjectiv betrachtet ändert sich aber nichts.
Wenn ich mir die Formel so ansehe (und die Lookups wären das Problem) müsste ich diese doch sowieso in die @If Abfrage einpacken, oder???

Aslo z.B. @If(@IsDocRecalculated;@Set("Temp1";@DbLookup(bla, bla...

Eine der Formeln:
REM "In diesem Feld wird geprüft ob ein Fehler vorliegt";
REM "Fehler sind: fehlender Mop-Code/Hazardous Indikator und falsche Vorgruppierung.";

REM "*Abschnitt zur Berechnung des Fehlers \'Vorgruppe/Katalo Nr.\'*";

REM "LU der Vorgruppen für die es keine Katalog Nummern gibt.";

TempLUView := "LUKeyword_V";
TempLUKey := "Keine Katalog Nummer";
TempLUNoCatNum := @DbLookup("Notes":"NoCache";"";TempLUView;TempLUKey;2);
TempNoCatNum := @If(@IsError(TempLUNoCatNum);"ERROR";TempLUNoCatNum);
TempNoCatNumForm := @Left(TempNoCatNum;2)+@Right(TempNoCatNum;2);

REM "LU der Vergleichswerte für die Prüfung Vorgruppierung zu Katalog Nummer.";

TempLUView1 := "LUAllCatalogGroups_V";
TempLUKey1 := @Left(CatNoGroup_T;2)+@Right(CatNoGroup_T;2);


TempLUCatGroup2 := @DbLookup("Notes":"NoCache";"";TempLUView1;TempLUKey1;2);
TempCatGroup2 := @If(@IsError(TempLUCatGroup2);"ERROR";TempLUCatGroup2);
TempLUCatGroup3 := @DbLookup("Notes":"NoCache";"";TempLUView1;TempLUKey1;3);
TempCatGroup3 := @If(@IsError(TempLUCatGroup3);"ERROR";TempLUCatGroup3);

REM "Der eine Vergleichswert ist die Vorgruppierung und die zwei zusätzlichen Werte die in der TempCatGroup2 und 3 gespeichert sind.";
REM "Der zweite Vergleichswert ist die TempCatNo.";

REM "****VERGLEICHSWERT **********************";
TempControl := TempLUKey1 : TempCatGroup2 : TempCatGroup3;


TempCatNo := @Left(CatalogNo_T;4);

REM "Zum entgültigen Vergleich muss ausserdem noch die TempNoCatNum herangezogen werden.";
REM "Die Prüfung sieht dann wie folgt aus:";
REM "1 - Wenn die Vorgruppe (TempLUKey1) gleich einem der Werte dieser Temp ist dann liegt kein Fehler vor.";
REM "2 - Wenn die TempCatNo gleich einem der Werte der TempControl ist dann liegt ebenfalls kein Fehler vor.";
REM "Die Prüfung wird aber Umgekehrt da ja geprüft wird ob NOK.";

TempCatNoOK := @If(@IsMember(TempLUKey1;TempNoCatNumForm) | @IsMember(TempCatNo;TempControl);"Yes";"No");

REM "Der zweite Bereich überprüft ob ein MOP Code eingegeben wurde";
TempMOPCodeNOK := @If(MopCode_T ="???");

REM "Der dritte Bereich überprüft ob ein Hazardous Indikator gesetzt ist.";
TempHazIndNOK := @If(@Explode(Process_T) = "Hazardous" & HazIndicator_T != "A") |
                              @If(@Explode(Process_T) != "Hazardous" & HazIndicator_T = "A") ;

TempZust1 := @If(TempCatNoOK = "No");
TempZust2 := @If(TempMOPCodeNOK);
TempZust3 := @If(TempHazIndNOK);

TempAusg1 := "Vorgruppe/Katalog Nr.";
TempAusg2 := "MOP Code";
TempAusg3 := "Hazard Indicator";

@If(@IsDocBeingRecalculated;@Explode(@If(TempZust1;TempAusg1;",") : @If(TempZust2;TempAusg2;",") : @If(TempZust3;TempAusg3;",");",");@Success)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Hi,

du schreibst, dass das Öffnen 67 sec. dauert. Welches Öffnen meinst du denn? Das Öffnen der DB oder eines Dokumentes?.

Wenn es um das Öffnen der DB geht, dann spielen die berechneten Felder erstmal keine Rolle. Dann liegt es an der Ansicht die beim Starten angezeigt wird.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
glaube ich auch, dass das an den Ansichten liegt. Ist dort evtl eine Select-Formel, die die aktuelle Zeit/das aktuelle Datum berechnet und als  Auswahlkriterium verwendet?
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline Kadlec

  • Senior Mitglied
  • ****
  • Beiträge: 489
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Ja es geht um das öffnen der Db.
Nein die Select Formel enthält kein Datum:
TempShowStatus := @If(@Contains(StatusDescr_T;"Distributed")) &

                        !@If(@Contains(StatusDescr_T;"Accepted")) &

                        !@If(@Contains(StatusDescr_T;"Rejected NOK"));



SELECT Form="CatalogAlertImport_D"  & TempShowStatus

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Hi,

wie ist denn die Ansicht aufgebaut? Hat sie viele Kategorien?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Kadlec

  • Senior Mitglied
  • ****
  • Beiträge: 489
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
In dieser Ansicht gibt es zwei Kategorien.
Eine davon ist der Leseberechtigte.

Driri

  • Gast
Setz doch mal auf der Konsole nen "sh database <Pfad+Filename>" ab. Dann bekommst Du auch eine Liste aller Views mit Größe des Viewindex angezeigt.

Offline Kadlec

  • Senior Mitglied
  • ****
  • Beiträge: 489
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Da komme ich nicht ran.

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Hi,

du kannst auch im Notes-Protokoll (log.nsf) in der Ansicht Benutzung/Nach Größe schauen.

Dort werden die Größen der Ansichtne angezeigt.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Kadlec

  • Senior Mitglied
  • ****
  • Beiträge: 489
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
In der Log.nsf finde ich keine Infos zur datenbank.
Muss ich da irgendwas tun??, sorry keinen blassen Dunst.

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Hi,

eigentlich verwaltet Notes das selbst. In welcher Log.nsf hast du denn gesucht?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Kadlec

  • Senior Mitglied
  • ****
  • Beiträge: 489
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Ich habe nur eine gefunden "meine" Lokale,
auf dem Server müsste auch eine sein???

Driri

  • Gast
Aber Hallo, normalerweise direkt im Root des Servers.

Offline Kadlec

  • Senior Mitglied
  • ****
  • Beiträge: 489
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Habe den ganzen Server durchsucht aber keine gefunden.
Macht es Sinn eine Kopie der Db auf Lokal zu speichern und dann die Lokale Log.nsf nochmal zu checken??

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Nein, das macht keinerlei Sinn, Boris. Gerade die gewünschten Informationen werden vom Server und niemals vom Client in die LOG.NSF eingestellt.

Keine LOG.NSF (genauso muss die DB an sich heissen, wenn da niemand an der Server NOTES.INI gefeilt hat) auf dem Server ist an sich sehr ungewöhnlich und führt zu einem grossen Informationsdefizit. Was sagen Dir denn Eure Admins zu diesem Thema ?

Bernhard

Offline Kadlec

  • Senior Mitglied
  • ****
  • Beiträge: 489
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Kann man (admin) eigentlich die Log.nsf irgendwie verbergen?
Oder kann man die infos die die db enthält, in eine Zentrale Log.nsf
speichern?
Ich könnte mir vorstellen das es da etwas "selbst gestricktes" bei uns gibt.
Ich werde morgen aber nochmal auf unseren Servern nachschauen evt. habe ich ja doch ein Verzeichniss nicht richtig durchgesehen.

Marinero Atlántico

  • Gast
man kann die ACL bearbeiten und anderen Leuten keinen Zugriff geben.
Für besonders intelligent halte ich das aber nicht.
Welche mega-geheimen Infos stehen in einer Log.nsf?
In die Log.nsf wird automatisch von Notes geschrieben.
Wenn die nicht da ist, wird nach der gesucht, nicht gefunden und irgendein interner Error-Handling Mechanismus tritt ein, der dafür sorgt, dass das System nicht ganz abstürzt. Letzterer wird auf jeden Fall Ressourcen beanspruchen und wir wissen alle nicht wie der aussieht.
« Letzte Änderung: 19.04.05 - 00:29:59 von Marinero Atlántico »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
@Axel:
Naja, jedem würde ich nicht Zugriff auf die LOG.NSF geben. Da kann auch mal etwas drin stehen, was ein Nasenbär missverstehen kann, weil er nicht alles weiss.

@Boris:
Meine wichtigste Frage blieb unbeantwortet: Was sagen Deine Admins ? Ohne die bist Du verloren oder hast zumindest einen schweren Stand.
Kleiner Tipp trotzdem: Was passiert, wenn Du den Datenbank-Öffnen-Dialog startest und dort Euren Server auswählst sowie dort im Feld "Dateiname" "LOG.NSF" eingibst ?

Bernhard

Marinero Atlántico

  • Gast
Ja. O.k. Allen nicht.
Aber der Entwicklergruppe auf jeden Fall.
Ich hatte mal einen Kunden, die argumentierten, dass ein Entwickler mit einem sauberen Entwicklungsprozeß keinen Zugriff auf den Logserver braucht.
Ich weiss immer noch nicht, welche Bücher solche Leute über Softwareentwicklungsprozeßmanagement lesen. In meinen steht das jedenfalls anders drin. Vermutlich verlassen sie sich auch auf ihren "gesunden Menschenverstand" (sprich: ihre Vorurteile).
Naja die Verantwortlichkeit für die Administration hat vor 2 Monaten gewechselt und nun habe ich dort Zugriff auf die log.nsf. 
Ein gewisser Typ von Admins meint, dass es grundsätzlich professionell ist, wenn man Zugriffsrechte so restriktiv wie nur eben möglich regelt. Meist sind das die selben Leuten, die laut Softwarefehler schreien, ich bei denen vorbeifahre und wir dann gemeinsam feststellen, dass es an irgendwelchen neuen Release-Kombinationen liegt. Beliebt sind dabei gewisse LEI Releases und DWF auf OS/390.

Für einen Tomcat/Websphere Entwickler ist es völlig undenkbar, dass ihm Zugriff auf die Log-Files verwehrt wird...
« Letzte Änderung: 19.04.05 - 00:50:18 von Marinero Atlántico »

Offline Kadlec

  • Senior Mitglied
  • ****
  • Beiträge: 489
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
@Bernhard
Deine Frage nach den Admins konnte ich nicht beantworten weil ich die nicht gefragt habe. Die Admins sind in einer "Fremd" Firma und dort jemanden zu bekommen ist nicht so einfach, deshalb habe ich erst mal probiert ob ich hier eine Antwort erhalte.
Die Log.nsf ist im Dialog nicht sichtbar, wenn ich den Dateinamen eingebe, bekomme ich die Meldung "das ich nicht authorisiert bin".

Mit den Admins ist es also so ne Sache, fühle mich auch hier besser aufgehoben.
Bringt es mich weiter wenn ich auf dem Test Server meine db und eine Log.nsf hätte??

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz