-
Sofern Du auf Release 6.1 oder höher bist, kannst Du einen SQL-Index mit einem zusätzlichen verketteten Schlüssel-Feld definieren und diesen Index im Anschluss (wie jede geschlüsselte logische Datei) mit native I/O verarbeiten.
Code:
CREATE INDEX YourSchema.YourIndex
ON YourFile.YourTable
( DIGITS ( YOURYEAR ) CONCAT DIGITS ( YOURMONTH ) CONCAT DIGITS ( YOURDAY ) AS DATECHAR ASC )
RCDFMT TESTDATEF ADD ALL COLUMNS ;
Birgitta
-
Danke, Birgitta - wäre schön mit dem Index, aber die Indexerstellung bei 28 GB kann ziemlich lange laufen, muss ich es überlegen.
-
Wenn du eine LF mit Key erstellst, braucht das aber auch doch seine Zeit ?
Gruß Ronald
-
Ich werde es zuerst in einer Testumgebung ausprobieren, thanks.
-
Die einmalige Zeit der Indexerstellung steht ggf. der Summe der eingesparten Laufzeiten gegenüber. Dabei spielt die Größe des Index keine Rolle.
-
Ich habe eine Sache dabei vergessen - die Datumsfelder kann ich nur unter bestimmten Bedigungen aus einer Stelle rausschneiden - also ein Index für die ganze Datei entfällt; man kann kein "where" im Index haben. Sonst wäre es richtig so:
CREATE INDEX TEST/TESTIDX
ON TEST/TESTPF
( (SUBSTR(TEXT, 25, 4)) CONCAT
(SUBSTR(TEXT, 22, 2)) CONCAT
(SUBSTR(TEXT, 19, 2)) AS DATECHAR ASC )
RCDFMT TESTPFF1 ADD ALL COLUMNS
Habe ich mit einer vorselektierten Test Datei ausprobiert.
-
CREATE INDEX TEST/TESTIDX
ON TEST/TESTPF
( (SUBSTR(TEXT, 25, 4)) CONCAT
(SUBSTR(TEXT, 22, 2)) CONCAT
(SUBSTR(TEXT, 19, 2)) AS DATECHAR ASC )
WHERE ...........
RCDFMT TESTPFF1 ADD ALL COLUMNS
-
WHERE-Bedingungen sind bei Indices erlaubt.
Wie sieht denn Deine Syntax mit der WHERE-Bedingung aus?
Birgitta
-
Hallo Birgitta,
Es könte so ausehen (ausprobiert):
CREATE INDEX TEST/TESTIDX1
ON TEST/TESTKOPF
(DIGITS (SUBSTR(TEXT, 21, 4)) CONCAT
DIGITS (SUBSTR(TEXT, 18, 2)) CONCAT
DIGITS (SUBSTR(TEXT, 15, 2)) AS DATECHAR ASC )
WHERE POSSTR(TEXT, 'DISPONIERT') > 0
and SATZ_KZ = 'STATI'
and LIEFNR < 990000000
RCDFMT TESTKOPFF1 ADD ALL COLUMNS
- aber wie kann diesen Index nutzen ? Direkt selektieren geht damit nicht.
-
Ich dachte Du wolltest mit native I/O und nicht mit SQL zugreifen!
Native I/O kann SQL-Indices wie jede geschlüsselte Datei verarbeiten.
(In SQL kann/darf man einen Index nicht direkt angeben! Der Optimizer sucht sich den Zugriffspfad)
Birgitta
-
Geht das in RPG ? Sorry, wusste ich nicht - ich probiere es aus, danke.
-
Bei den berechneten Indizes steht man vor dem Problem, dass der Optimizer diese nur verwendet, wenn man genau die selben Informationen, also hier den Concat und die Whereklausel, in einem SQL verwendet.
Weicht man auch nur in kleinster Weise davon ab, wird der Index nicht verwendet und SQL sucht sich was anderes.
Also dies könnte dann klappen:
SELECT * FROM TEST/TESTKOPF
WHERE
DIGITS (SUBSTR(TEXT, 21, 4)) CONCAT
DIGITS (SUBSTR(TEXT, 18, 2)) CONCAT
DIGITS (SUBSTR(TEXT, 15, 2)) = 'XXXX'
AND POSSTR(TEXT, 'DISPONIERT') > 0
and SATZ_KZ = 'STATI'
and LIEFNR < 990000000
Similar Threads
-
By tarkusch in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 27-01-22, 13:41
-
By AS400.lehrling in forum Intern - Hilfe - Feedback - Tests-Forum
Antworten: 4
Letzter Beitrag: 20-10-15, 21:24
-
By H.V in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 20-09-02, 17:00
-
By hs in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 14-02-02, 07:30
-
By Stefan_R in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 23-01-02, 17:08
Tags for this Thread
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