@ Birgitta,
ich kann deine Begeisterung für die neue Query Engine ü b e r h a u p t
nicht teilen, die hat einen Hang zu full table scans, insbesondere bei vorhandenem parallel Database Feature und trifft teilweise katastrophale Entscheidungen. Beim Join von einer Table mit 3 Sätzen mit einer anderen mit 490 Millionen Sätzen über den Mandanten Key (dec 3 0) stellt sie den Boliden links hin und macht dort einen full table scan (um 35 Millionen Treffer zu finden) damit sie die drei Sätze nach Index verarbeiten kann; selbst wenn ich von den 3 Sätzen 2 lösche, wird dieser Satz per Index verarbeitet!?!?
BTW. hast du schon mal gesehen, dass ein EVI verwendet wird??? ich nicht!!! und die Empfehlung selbigen vor updates zu löschen und hinterher wieder zu erstellen - rührend.
mfg
Dieter Bender
Wenn Du dabei an DDS beschriebene logische join files denkst, vergiss es!
Wenn Du dabei an SQL views denkst ist das in Ordnung.
Zur näheren Erklärung. SQL verwendet immer direkt die physischen Dateien. Zugriffs-Wege (geschlüsselte logische Dateien und SQL Indices) werden intern benutzt um möglichst schnell auf die Daten zugreifen zu können. Welcher Zugriffsweg verwendet wird, entscheidet der Query Optimizer.
SQL Indices können im Gegensatz zu geschlüsselten logischen Dateien nicht in einem SQL-Statement angegeben werden.
Werden DDS beschriebene logische Dateien angegeben, löst der Optimizer die logischen Dateien auf, d.h. das SQL-Statement wird basierend auf den physischen Dateien mit der Feld-Auswahl, Join-Anweisungen und Select/Omit-Anweisungen (als Where-Bedingungen) neu geschrieben.
Erst im Anschluss ermittelt der Optimizer die optimalen Zugriff-Wege und zwar einen eigenen für jede verknüpfte physische Datei (Tabelle).
Die Auflösung der DDS-beschriebenen Dateien kann nur durch die alte (classic) Query Engine (CQE= erfolgen. Allein das Rerouting von der neuen SQL-Query-Engine (SQE) zur CQE kann bis zu 10% Performance-Einbußen mit sich bringen.
Abfragen die durch die SQE verarbeitet werden, sind z.T. wesentlich schneller als Abfragen, die durch die CQE verarbeitet werden.
Ausserdem wurden in den letzten Releasen Neuerungen in SQL eingeführt, z.B. EXCEPT, INTERSECT, OLAP-Ranking-Funktionen und rekusrive Abfragen, die NUR durch die SQE verarbeitet werden können.
Birgitta