-
SQLRPGLE - Optimierung
Hallo Forum,
wir beabsichtigen über unseren Artikelstamm eine eigene Volltextsuche zu programmieren mit deinem SQLRPGLE. Bislang sind wir schon recht zufrieden und haben Antwortzeiten im 500 ms Bereich. Der Anwender kann insgesamt 5 Suchbegriffe mit Leerzeichen getrennt eingeben - welche dann im SQLRPGLE über ein SQL auf Artikelstamm und Artikelmerkmale los gehen mit Like %text% (bzw. nur like %text bei den Merkmalen) Aus dem Lagerstamm soll "nur" der Bestand und der Lagerplatz dazugeholt werden. Jedoch ist diese im SQL "verknüpft" um später noch eine absteigende Sortierung nach Verfügbarkeit durchzuführen.
Kurz zum Dateihintergrund
Artikelstamm (knapp 300.000 Sätze)
Lagerstamm (knapp 100.000 Sätze)
Artikelmerkmale (knapp 2.500.000 Sätze)
Bisher sieht das SQL im SQLRPGLE wie folgt aus_
Code:
+ select distinct
+ AATNR ,
+ coalesce(AGART, 0) ,
+ coalesce(ALGNR, 0) ,
+
+ trim(abez1) concat ' '
+ concat trim(abez2) concat ' ' CONCAT trim(abez3) concat ' '
+ concat trim(abez4) ,
+
+ coalesce(AVERB , 0) ,
+ coalesce(AHALLE, '') ,
+ coalesce(AREIHE, '') ,
+ coalesce(APLATZ, '') ,
+ coalesce(ALATN1, '')
+ coalesce(ARTIKELMERKMAL , '')
+
+ from temp/v1000 a
+ left outer join temp/ARTIKELMERKMALDATEI c on a.aatnr = c.f2
+ where
+ ( UPPER(ABEZ1) like TRIM(:WORT1)
+ or UPPER(ABEZ2) like trim(:WORT1)
+ or UPPER(ABEZ3) like trim(:WORT1)
+ or UPPER(ABEZ4) like trim(:WORT1)
+ or UPPER(C.ARTIKELMERKMAL) like trim(:WORT1H)
+
+ )
+ and
+
+ ( UPPER(ABEZ1) like trim(:WORT2)
+ or UPPER(ABEZ2) like trim(:WORT2)
+ or UPPER(ABEZ3) like trim(:WORT2)
+ or UPPER(ABEZ4) like trim(:WORT2)
+ or UPPER(c.ARTIKELMERKMAL) like trim(:WORT2H)
+ )
+ and
+
+ ( UPPER(ABEZ1) like trim(:WORT3)
+ or UPPER(ABEZ2) like trim(:WORT3)
+ or UPPER(ABEZ3) like trim(:WORT3)
+ or UPPER(ABEZ4) like trim(:WORT3)
+ or UPPER(c.ARTIKELMERKMAL) like trim(:WORT3H)
+ )
+ and
+
+ ( UPPER(ABEZ1) like trim(:WORT4)
+ or UPPER(ABEZ2) like trim(:WORT4)
+ or UPPER(ABEZ3) like trim(:WORT4)
+ or UPPER(ABEZ4) like trim(:WORT4)
+ or UPPER(c.ARTIKELMERKMAL) like trim(:WORT4H)
+ )
+ and
+ ( UPPER(ABEZ1) like trim(:WORT5)
+ or UPPER(ABEZ2) like trim(:WORT5)
+ or UPPER(ABEZ3) like trim(:WORT5)
+ or UPPER(ABEZ4) like trim(:WORT5)
+ or UPPER(c.ARTIKELMERKMAL) like trim(:WORT5H)
+
+ and coalesce(AGART, 0) < 02 and coalesce(ALGNR, 0) < 02
+ order by 5 desc
Kurzerklärung Variablen:
AATNR = Artikelnummer
ABEZx = Artikelbezeichnung 1-4
Die V1000 im SQL ist ein View der Artikelstamm und Lagerstamm mit einem LEFT OUTER JOIN VERBINDET.
Ohne die wie oben im SQL angegebene Verknüpfung auf die Artikelmerkmale Datei (in der soll nur ein Merkmal mitdurchsucht werden) ist das SQL rasend schnell - doch sobald diese "große" Artikelmerkmaldatei mit einbezogen wird über den LEFT OUTER JOIN ist es "vorbei" mit der schnellen Suche! Da ist die Antwortzeit bei ca. 4 Sekunden.
Auch Versuche die ARTIKELMERKMAL Datei in den View (V1000) mit einzubeziehen brachten keinen merklichen Erfolg.
Im Joblog kann ich nicht erkennen das der AS/400 Zugriffspfade oder ähnliches fehlen.
Kann jemand helfen? Bringt eine Änderung/Anpassung der QAQQINI etwas? Gibt es eine spezielle Umwandlungsoption die wir vielleicht nicht kennen? Kann man das SQL "geschickter" umbauen? Unsere Maschine hat 4.300 CPW.
Danke - Dirk
Similar Threads
-
By Jenne in forum NEWSboard Programmierung
Antworten: 10
Letzter Beitrag: 06-06-07, 10:10
-
By guru30 in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 22-02-06, 14:53
-
By mk in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 17-11-05, 09:48
-
By Stefan_Sk in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 12-07-05, 13:04
-
By Karl23 in forum NEWSboard Programmierung
Antworten: 22
Letzter Beitrag: 05-07-05, 08:56
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