-
Da fragt sich, wer denn hier der Senior ist .
Funktionierts denn jetzt endlich ?
-
Was ich als zweckpunkt gewollt habe, ist die möglichkeit besteht um es
ohne max(...)
mit nutzung von
order by... /desc
fetch first/last
auch schaffen kann.
Dazu wollte ich auch fragen, welche läuft schneller? Mit max(...) oder fetch first?
-
Wenn entsprechende Zugriffswege vorhanden sind, ist fetch first schneller.
Das setzt aber auch einen DESC-Key voraus, denn ich weiß nicht, ob der Optimizer ggf. auch rückwärts optimiert.
Bei zusammengesetzten Feldern erübrigt sich ja eigentlich die Frage .
-
Hey Kit,
Was ich als zweckpunkt gewollt habe, ist die möglichkeit besteht um es
ohne max(...)
mit nutzung von
order by... /desc
fetch first/last
auch schaffen kann.
Dazu wollte ich auch fragen, welche läuft schneller? Mit max(...) oder fetch first?
Werden die Abfragen mit den SQE ausgeführt und wird jeweils nur der Maximal-Wert selektiert, wird der gleiche Zugriffsplan verwendet, d.h. Zeitabweichungen hängen lediglich von der Auslastung auf der Maschine ab.
Die folgenden Abfragen werden original gleich ausgeführt. Es existiert ein Zugriffsweg nach FldX.
PHP-Code:
Select Max(Fldx)
From MyTable;
PHP-Code:
Select FldX
from MyTable
Order By FldX Desc
Fetch First Row Only;
Das setzt aber auch einen DESC-Key voraus, denn ich weiß nicht, ob der Optimizer ggf. auch rückwärts optimiert.
Die CQE braucht eine absteigend sortierten Zugriffspfad (in beiden Fällen!). SQE kann eine Zugriffsweg auch rückwärts verarbeiten.
Wird die Abfrage mit der CQE ohne entsprechenden Zugriffsweg verarbeitet, ist die Variante mit der Aggregat-Funktion (MAX) wesentlich schneller als die Variante mit dem Fetch! In der Fetch Variante wird eine temporäre Datei gebildet während bei der anderen Variante gruppiert werden kann.
Bei entsprechend sortiertem Zugriffsweg wird dieser bei der Fetch-Variante verwendet, während im anderen Fall weiterhin ein Table Scan mit Grouping verwendet wird.
Bei zusammengesetzten Feldern erübrigt sich ja eigentlich die Frage
Vor 6.1 ja, ab 6.1 können auch Indices über zusammengesetzte Felder oder durch skalare Funktionen veränderte Felder gebildet werden. Diese Indices können dann auch vom Optimizer verwendet werden.
Birgitta
-
Liefert FETCH FIRST nicht nur einen einzigen Datensatz je Abfrage zurück? Du brauchst doch aber mehrere Datensätze, für jeden Artikel je Lagerort einen?
-
Ich glaub jetzt sind wir weit am Thema vorbei.
Fetch first löst natürlich nicht obiges ursprüngliches Problem.
Similar Threads
-
By steven_r in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 04-12-06, 12:16
-
By I0N in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 21-11-06, 12:44
-
By steven_r in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 20-11-06, 18:37
-
By lossin in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 08-02-06, 14:09
-
By miro in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 11-09-05, 11:11
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