-
 Zitat von Christian.Hesse
... (Tendenz sinkend mit fortwährendem Betrieb - irgendwann sind wir bei 0,5 bis 1 Sekunde angelangt, wobei es auch mal wieder mehr werden kann und das bevorzugt direkt und schlagartig nach einer längeren Pause (ab 20 Minuten))
Wie sich das anhört werden da viele Sätze überlesen (übel). Je öfter gelesen wird, desto mehr Datei wird im Hauptspeicher gepuffert. Wenn nicht mehr gelesen wird der Hauptspeicher mit anderem Zeug belegt.
Meine Idee dazu ist jetzt, Indizes anzulegen...
Indizes sind das A&O für gute Performance. Wenn ihr bisher keinen Gebrauch davon gemacht habt, wundern mich Performanceprobleme nicht!
.. was meines Wissens nur über Logische Files gemacht wird.
Logische Files ist die Native-Variante für RPG&Co. Für SQL-Zugriffe kann man das SQL-Kommando CREATE INDEX verwenden.
Meine Frage dazu: Kann ich darin auch einen Index über mehrere Spalten anlegen?
Ja freilich, z.B.
CREATE INDEX LIB/DATIDX ON LIB/DAT (ID, BEZ) WITH
2 DISTINCT VALUES
für Syntax: STRSQL, CREATE INDEX + F4-Taste
Unique-Key kostet etwas mehr Performance, beim Update/Insert von Sätzen. Also wenn die Eindeutigkeit geregelt ist, auf das (Schlüsselwort) Unique verzichten.
Und mit welcher Performance-Einbuße muß ich beim Indexaufbau, bzw. wiederaufbau rechnen und ....
Als bei Zugriffen von 24x7-Jobs sind sicher permanente Indizes sinnvoll. In diesem Fall "zahlt man die Zeche" bei jedem Update bzw. Insert auf die Datei. Wenige Indizes sind i.d.Regel aber nicht spürbar. Es muss schon verdammt blöd hergehen (große Datei die jeden Tag komplett neu gefüllt wird), dass sich ein permanenter Index
nicht auszahlt.
...wann macht die AS400 das?
Ein Index wird im Normalfall sofort erstellt. Das Aktualisieren machen die QDBSRVxxx-Jobs. Auch hier der Hinweis: Unnötige Angaben von Unique vermeiden, da sich die Uniqueprüfung ja nur schwer in den Hintergrund schieben läßt.
Und um die Fragen abzurunden die Letzte: Gibt es noch irgendwelche "Optimierungen" woran ich die JDBC-Zugriffe "effizienter" - sprich schneller - auf die Reihe bekomme? Also irgendetwas was eine Datenbankdatei auf einer Maschine haben könnte, was die selbe Datei auf anderen Maschinen nicht hat? (Ein Index ist es mal nicht, denn der fehlt bei allen Maschinen.)
Wenn du mit den Maschinen verschiedene AS/400 meinst, sage ich nur: Query Optimizer
Dieses "schlaue Ding" wählt die Strategie bzw. den Zugriffsweg für das SQL-Statement aus und hat etwas von Glückspiel.
Beispiel gefällig (war glaube ich unter V5R1):
SQL-Statement ca. 30% Maschinenauslastung --> ein vorhandener Index wird nicht gefunden (es gibt ein Timeout wie lange bei den vorhandenen Indizes suchen darf)
---> Laufzeit 55min
gleiche Maschine/gleiches SQL-Statement ein paar Tage später bei ca. 15% CPU-List
Vorhandener Zugriffspfad wird gefunden und genutzt ---> Laufzeit 2 Minunten
Robert P.
Similar Threads
-
By Burgy Zapp in forum Intern - Hilfe - Feedback - Tests-Forum
Antworten: 0
Letzter Beitrag: 07-05-04, 15:56
-
By Cassius in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 05-03-02, 19:28
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks