-
SQL / Select auf LF / Optimizer
Hallo zusammen,
ich habe mal eine Wissensfrage.
Wenn ich beim SELECT eine Logische Datei anstatt einer Physischen Datei angebe. Kann ich dann davon ausgehen, dass sich das System so verhält als hätte ich einen View angegeben. Die Datenselektion die über die logische Datei ausgewählt wurde über Compare bleiben erhalten. Ich kann aber die Sortierung (was das auch für immer einen Sinn macht) ändern und der Optimizer schnappt sich dann nicht zufällig eine andere logische Datei die die Selektionskriterien nicht mehr hat.
Ich hoffe ihr versteht was ich meine
Viele Grüße Harkne
-
Eine Select auf eine LF wirkt tatsächlich wie ein Select auf eine View.
D.h., dass der Optimizer sich die PF sucht.
Der SQL wird in der Where-Klausel um die Select/Omit der LF erweitert.
Anschließend sucht sich der Optimizier einen oder auch mehrere Indizes aus, die zur Where und/oder der Order-By-Klausel passen.
Bis zu irgend einem Release (V7) wurden LF's mit Select/Omit ignoriert. Wenn kein passender Index da ist wird halt ein Tablescan durchgeführt.
Seit (V7?) gibt es ja inzwischen "calculated" Indizes, so dass auch Select/Omit-LF's berücksichtigt werden können.
Allerdings muss man hierfür in seiner Where-Klausel die Select/Omit-Definition genau wiederholen.
-
Wird eine DDS beschriebene logische Datei in einem SELECT-Statement angegeben, wird das SELECT-Statement muss die DDS-Beschreibung ananlysiert und im Anschluss das SELECT-Statement neu geschrieben werden. Aus der DDS-Beschreibung werden die Feld-Auswahl, Join-Anweisungen und Select/Omit-Anweisungen übernommen. Key-Informationen werden ingoriert.
Die eigentliche Optimierung beginnt erst nachdem das SELECT-Statement überarbeitet wurde. Bei der Optimierung werden dann alle Zugriffswege (in SQL Indices, DDS logischen Dateien und in Key Constraints) bewertet.
Vor Release 7.1 TR6 konnte diese DDS-Analyse nur von der alten Query Engine (CQE) durchgeführt werden, d.h. alle Abfragen mit Zugriff auf LFs wurden an die CQE reroutet.
Die Erweiterungen (neue Key-Spalten / Where-Bedingungen) waren in Release 6.1 in erster Linie für native I/O. Erst nach und nach "lernt" der Optimizer diese SQL Indices auch "richtig" zu nutzen, d.h. nicht nur die Key-Informationen zu verwenden.
Birgitta
Similar Threads
-
By KingofKning in forum NEWSboard Programmierung
Antworten: 16
Letzter Beitrag: 10-03-15, 16:20
-
By Fuerchau in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 28-08-14, 15:37
-
By Fuerchau in forum IBM i Hauptforum
Antworten: 28
Letzter Beitrag: 08-05-14, 12:52
-
By TARASIK in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 19-09-02, 10:59
-
By Schnichels in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 11-01-02, 13:45
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