-
SQL View mit Index/Key
Hallo Gemeinde,
bei einer DDS-Beschriebenen Logischen Datei kann ich ja einen Key angeben und gleichzeitig Sätze aus der PF selektieren. Bekommt man sowas auch mit einer SQL-View hin?
PF-File
PHP-Code:
R RECORD
FELD1 3A
FELD2 10A
K FELD1
LF-File
PHP-Code:
R RECORD PFILE(TESTPF)
*
FELD1 3A
FELD2 10A
*
K FELD2
*
S FELD1 COMP(EQ 'AAA')
Oder bleibt mir dann nur die Möglichkeit im RPG mit embedded SQL zu arbeiten?
Gruß
Ronald
-
View ist immer ohne Index,
also
create view mit ... where Feld1 = 'AAA' erstellen
create index ... aud Feld2
Wobei in der 'einfachen' Kombination würde ich den Index auf Feld1 + Feld2 legen
und den View select auf 'AAA' weglassen.
Beim Zugriff kann ich das AAA selektieren und hab weiter Möglichkeiten
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Eine View beschreibt nur die Sicht auf Daten, ein Index erleichtert den Zugriff auf Daten.
SQL ist mit DDS in keiner Weise vergleichbar, zumal der Optimizer (schon mehrfach diskutiert) später sowieso SQL's umbaut um schnellere Ergebnisse liefern zu können.
Daher erlaubt eine View weder einen Index noch einen Order By.
Aus Berechtigungsgründen kann man durchaus eine Where-Klausel einbauen um für bestimmte User/-Gruppen die Sicht der Daten einzuschränken.
Leider wird aber zur Laufzeit zwar die Where-Klausel dann mit in die Ausführung übernommen, aber die Entscheidung über die Verwendung eines Index kann dann wieder eine ganz andere sein.
Beispiel:
Für einen Fall habe ich eine View mit der Selektion auf einen Mandanten (Firma/Werk) erstellt.
Wenn ich nun auf diese View einen "select * from MyView where T1='X'" mache, führt dies zu einem Tablescan, obwohl für den Mandanten und das Feld T1 ein Index (Firma/Werk/T1) vorhanden ist.
Ergänze ich nun den SQL mit "select * from MyView where Firma='A' and Werk = 'B' and T1='X'" verwendet der Optimizer nun den vorhanden Index.
Nun sieht das halt für mich so aus, dass die Ergänzung des umgebauten SQL's mit der Where-Klausel aus der View erst nach der Analyse und der Entscheidung der verfügbaren Zugriffspfade erfolgt.
Fazit:
Auch wenn eine View eine Where-Klausel enthält entbindet mich das u.U. nicht davon, den Where-Ausdruck in meiner Abfrage auf die View zu wiederholen um eine performante Abfrage zu erhalten.
-
Danke für die Antworten,
ich dachte ich kann mir da schnell mal eine logische basteln. Die Datei um die es geht, ist aus Femdsoftware. Sonst konnte ich da mit einem Chain drauf und hatte meinen Satz. Neu ist nun, das für einen Zugriff mehre Sätze da sein können. Wovon aber nur einer gültig ist. Ich dachte, ich könnte mir das einfach machen, indem ich mir meine logische selber bastle, und das Programm nicht großartig ändern muss.
Ich werde aber nun doch das PGM ändern und gleich per SQL zugreifen.
Gruß
Ronald
-
Auch für die Gültigkeit gibt es doch meist (z.B.Datum) dann die Möglichkeit per SETLL/READE genau den einen Satz zu bekommen.
-
Oder so.
Ich dachte nur ich kann schnell mal mit SQL eine Sicht basteln und im PGM nur die Datei austauschen...
Gruß
Ronald
-
... für die Schmuddelkinder geht auch ein Index mit where Klausel, den kann man mit Rekord Löffel Ekzem verarbeiten (würg - wo ist mein Eimer)
D*B
-
Hier ein Artikel zu dem Thema (selbst auf die Gefahr hin, dass Dieter das Große Kotzen bekommt).
SQL indexes and native I/O – no contradiction
Birgitta
-
... da brauchts schon mehr, um mich zu einem SBMLNC (Submit Lunch) zu bewegen
-
Zitat von B.Hauser
Listing 15 war genau das, was ich gesucht habe.
Danke
Gruß Ronald
Similar Threads
-
By ExAzubi in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 19-07-16, 11:44
-
By _MG_ in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 24-05-16, 09:49
-
By woodstock99 in forum NEWSboard Programmierung
Antworten: 31
Letzter Beitrag: 18-03-15, 13:29
-
By KingofKning in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 29-12-14, 12:01
-
By tarkusch in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 06-11-13, 11:44
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