[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2
  1. #13
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Wenn der Index ohne Where-Bedingung wirklich verwendet wurde, könnte es daran liegen, dass alle notwendigen Informationen bereits in den Schlüssel-Werten enthalten sind. Ein Zugriff auf die "restlichen" Daten in der Datei/Tabelle ist somit nicht erforderlich! Das könnte bereits die Ursache für die Verbesserung sein.

    Birgitta
    Birgitta Hauser

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

  2. #14
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Ich glaub dass der Index nur wegen dem ORDER BY benützt wird. Danach selektiert die DB vom Ergebnis die einzelnen Sätze heraus.

  3. #15
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Wenn ein Index für ein Where, Group oder Order-Feld existiert so wird dieser auch verwendet.
    Sinn macht also eher ein Index auf das Textfeld mit Upper(), da SQL dann schon mal einen Zugriff spart.

    Eine Where-Index mit LIKE macht überhaupt keinen Sinn, da der DROP/CREATE ja auch einen Tabelscan macht, was durch den Select ebenso erfolgt.
    Und was passiert, wenn 2 User jeweils was anderes suchen?
    Soll der eine dann warten oder nimmt der 2. dem 1. den Index weg?
    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

  4. #16
    Registriert seit
    Apr 2013
    Beiträge
    10
    Verstehe. So langsam kommt Licht in die Sache

    Werde einmal einen Index mit upper erstellen lassen und dann die Zugriffszeiten analysieren.

    Im besten Fall wäre es gut, wenn beide den selben Index zeitgleich verwenden können.
    Sollte das nicht gehen, ist es in diesem Fall nicht so tragisch, denn die Anwendung wird nicht sehr oft-, und von nur maximal 5 Usern, verwendet.

  5. #17
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ich hoffe doch, dass das 32K-Feld als VARLEN definiert ist und Restblanks auch tatsächlich entfernt sind.
    Auch das spart Suchzeit, da im Zweifel bei 32K ggf. weniger als 1% tatsächlich belegt ist.
    Ein %SCAN (SQL macht da ja nichts anderes) geht nicht über die definierte sondern nur über die gefüllte Länge.
    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

  6. #18
    Registriert seit
    Apr 2013
    Beiträge
    10
    Feld ist als VARLEN(5000) definiert, da die meisten Einträge natürlich deutlich kürzer sind als 32k zeichen.

    Habe jetzt einmal einen Index erstellt wo das lower() schon enthalten ist.
    Hier werde ich aber noch ein rtrim() hinzu geben.

    Ich denke dann sollte der Index seine maximale Wirkung für unsere Zwecke entfalten

  7. #19
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Allerdings nur, wenn die where-Klausel zum Index identisch ist.
    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

  8. #20
    Registriert seit
    Apr 2013
    Beiträge
    10
    Ah ok, wollte das eigentlich so machen, rtrim ist hier aber nicht zulässig.

    Code:
    create index stamdat.idx_termknpx on stamdat.termknpx(lower(rtrim(TKNTXT)))
    Gut dann muss das lower reichen.

    VARLEN ist auf 5000 gesetzt.

    Gibt es eine andere Möglichkeit die Blanks direkt in der Datei zu entfernen?

  9. #21
    Registriert seit
    Aug 2003
    Beiträge
    1.508

  10. #22
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Die Programme, die die Daten erstellen sollten das allerdings auch tun!
    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

  11. #23
    Registriert seit
    Apr 2013
    Beiträge
    10
    Verstehe, werden wir beides noch machen.
    Denn Index muss ich dann aber nicht neu erstellen nach dem Update oder?

  12. #24
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ein Index wird parallel gepflegt.
    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. SQL Performance
    By mariupol1963 in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 11-08-06, 13:06
  2. SQL Selektion mit LIKE
    By RLurati in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 18-01-05, 11:38
  3. LIKE keyword in Embedded SQL
    By woki in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 18-12-04, 12:28
  4. embedded SQL Performance Problem mit SCROLL
    By itec01 in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 16-09-04, 18:38
  5. sql / like mit hex möglich ?
    By malzusrex in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 12-07-02, 10:09

Tags for this Thread

Berechtigungen

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