-
ODBC performance
Hallo,
wir haben hier eine schön alte 620 mit V5R1.
Jetzt kam die große tolle Idee, das alte Warenwirtschaftssystem mit der CAD Datenbank und einigen anderen Auswertungen zu kombinieren.
Prinzipiell ist das auch kein Problem; basierend auf PHP lassen sich die diversen Datenbanken (u.A. MySQl und DB2) schön anbinden und
die Ergebnisse der Testdaten sehen vielversprechend aus.
Jetzt kommt der große Haken an der Sache; die Performance. Ich habe leider überhaupt keine Ahnung von den AS400 Internas und wundere
mich doch sehr, dass eine Interne Abfrage binnen Sekunden einen Join über mehrere Tabellen fahren kann (zumindest mutest es so an, aber
wer weiss, wie die Daten im Vorraus aufbereitet oder gecached werden? Stichwort virtuelle Dateien?), per Client Access ODBC Treiber
(Version 8.00.00.00) aber Ewigkeiten dauert.
Wo liegt da der Flaschenhals? Kann man die zu durchsuchende Datenmenge im Vorraus eingrenzen? Ist das Fehlen von Indizes in den Tabellen
eine Designsache des Warenwirtschaftsystems oder werden die bei externen Abfragen "ausgeblendet"?
Hat jemand praktische Erfahrungen zu diesem Thema?
Uli
-
Das hängt nun sehr stark von der lokalen Anwendung ab, ob die "Abfragen" schnell sind oder nicht. Wird nämlich kein SQL verwendent, kann ein Programm über LF's und Logik sehr schnell die Daten finden.
Bei SQL sieht's etwas anders aus.
Probiere die gewünschten ODBC-SQL's lokal auf der AS/400 per STRSQL aus.
Ggf. vorher per STRDBG die Hinweise zum Anlegen von Indizees befolgen.
-
Hallo Uli,
auch ich bin gerade dabei unsere iSeries-Datenbanken mit PHP via ODBC "anzuzapfen" und diverse Auswertungen zu fahren. Und ich muß sagen, dass der Zugriff extrem schnell ist. Egal, ob ich per SQL-Select die Daten hole oder eine Stored Procedure aufrufe, die dann per RPG-Logik über eine LF (so wie es Fuerchau beschrieben hat) die Daten ermittelt. Die Antwortzeiten sind bei beiden Varianten sehr kurz. Es hängt natürlich davon ab, wie groß Deine Dateien sind bzw. welche Datenmengen Du verarbeitest.
Gruß,
KM
-
@KM
Die Datenmengen spielen nur dann eine Rolle, wenn ich mehrere tausend Sätze per Abfrage bearbeiten muss, also z.B. GROUP BY verwende.
Ansonsten ist die Datenmenge eher unerheblich, wenn man aus Millionen Sätzen per Schlüssel einige wenige Sätze abfragt.
Entscheidend ist natürlich eine geschickte Abfrage und -logik und immer wieder Indexe, Indexe, Indexe !
-
Hallo,
wir setzen eine Lohn- und Gehalts- Software unter Windows ein und bedienen auch die DB2/400. Unsere Erfahrungen bringen genau das was Herr Fuerchau auch schon bestätigt das je nach Aufbau der Abfrage eventuell weitere Indexe von Nutzen sein können.
Wenn wir Performensprobleme haben arbeiten wir mit SQL-Pakete und analysieren danach die Indexe mit denen die AS400 arbeitet um neue auf zu bauen.
Gruß
Reinhold
Similar Threads
-
By berndl in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 13-10-06, 09:28
-
By synus in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 06-10-06, 15:38
-
By olafu in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 05-10-06, 08:13
-
By mama in forum IBM i Hauptforum
Antworten: 30
Letzter Beitrag: 27-09-06, 09:31
-
By Hubert in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 12-05-06, 11:52
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