[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Sep 2018
    Beiträge
    98
    Hallo,
    ich habe mir nun gleich mal einen Index gebastelt. mit create index .... hat auch soweit funktioniert. Jetzt bringt mir mein strsql auf der i5 (wenn ich auf die Datei einen select mache) den Hinweis:

    SQL7011 xxx in yyy keine Tabelle, Sicht oder physische Datei.

    Verstehe ich da was falsch? Mit wrkobj bringt er: Art: *file Attribut: LF

    Das erzeugen des Indexes ging rasend schnell.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.809
    Du machst den Select immer auf die Tabelle oder View.
    Der zu verwendende Index wird von SQL selber ermittelt.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.945
    Wenn Du dem Optimizer eine logische Datei angibst, dann interessiert ihn das relativ wenig.
    Das SQL-Statement wird im Untergrund umgeschrieben. Dabei nimmt der Optimizer aus der DDS Beschreibung lediglich die Feld-Auswah, Join-Anweisungen und Select/Omit-Anweisugen, und schreibt das SQL Statement basierend auf diesen Informationen um. Der Schlüssel der logischen ist an dieser Stelle schnutzpiepegal. Die logische Datei wird wie eine View (immer ungeschlüsselt!) behandelt. Die eigentliche Optionierung beginnt erst nach dem Umschreiben. Zu diesem Zeitpunkt ist nicht mehr bekannt, dass eine logische Datei mit einem Schlüssel vorgegeben war. Wird die logische Datei genommen, ist es nichts weiter als Zufall.

    Indices werden von dem Optimizer verwendet um schnell auf die Daten zugreifen zu können.
    Übrigens mit SQL kann man einen Index nicht direkt ansprechen, aber man kann einen Index mit Native I/O (in RPG und COBOL) wie eine beliebige Datei (F-Bestimmungen / Chain / SetLL / Read ...) verarbeiten.

    Um Dein Statement zu optimieren, müsste man
    a) das Statement zunächst einmal sehen auch hier können Probleme liegen, dergestalt, dass SQL zwar die Sätze findet, jedoch keinen Index verwenden kann.
    b) die vorhandenen Zugriffswege kennen
    c) die Daten bzw. Datenzusammensetzung kennen um zu entscheiden, ob und welcher Index erforderlich ist.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.809
    Seit ca. V7R2 (bzw. Create Index ... where ...) kann der Optimizer auch LF's mit Select/Omit finden und verwenden.
    Wie oben gesagt, die Where-Klausel muss exact stimmen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Webservice per SQL abfragen
    By KM in forum NEWSboard Programmierung
    Antworten: 12
    Letzter Beitrag: 04-11-22, 07:41
  2. Mit JSON_TABLE Array abfragen
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 05-11-19, 16:35
  3. Java via QSH - ENDJOB abfragen
    By alex.kretschmer in forum NEWSboard Java
    Antworten: 6
    Letzter Beitrag: 29-09-16, 12:22
  4. UDP Socket timeout
    By max40 in forum NEWSboard Programmierung
    Antworten: 0
    Letzter Beitrag: 27-01-16, 12:58
  5. OVRDBF in CL-PGM abfragen
    By Amalie in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 23-11-01, 09:37

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •