Zitat Zitat von B.Hauser
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
Ich wollte über read setll etc dieses LF lesen. So würde ich es mir sparen 3-4 Dateien einzeln zu lesen. Soweit ich das oben verstanden habe sollte man nur mit SQL nicht auf diese LFs gehen, da man starke Performanceeinbußen hinnehmen müsste. Aber steht dem lesen über read etwas im Wege?

Martin