[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Wichtig ist noch folgendes:
    wenn du mit

    MyName = '%Müller%';
    und
    select ... where ... upper(KDNAME) like upper(:MyName) ...

    suchst, kommt auch nicht unbedingt das gewünschte Ergebnis, da die Variable MyName noch Leerzeichen am Ende enthält, die auf jeden Fall mitgesucht wird !
    Ergänze daher:

    select ... where ... upper(KDNAME) like upper(trim(:MyName)) ...

    *LANGIDSHR gibt dann Probleme, wenn es keine LF mit diesem Attribut gibt. Ich habe das mal ausprobiert und die Performance ging drastisch in den Keller da auf jeden Fall erst mal ein temporärer Index aufgebaut wurde.
    Also in solchen Fällen besser eine LF mit diesem Attribut erstellen und den SQL sogar auf diese LF loslassen.
    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

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    generell brauchen solche Queries einen statischen Index, wenns brummen soll!!!
    Beim CREATE INDEX wird die Sortierfolge die aktuell gültig ist, verwendet und in dem Index verdrahtet und nur wenn der mit dem zur Laufzeit passt, wird er verwendet. Zusätzlich ist noch mit zu beachten, dass der (sogenannte) Query Optimizer bei der Verwendung von Feldfunktionen eher als Query Pessimizer fungiert.

    mfg

    Dieter Bender

    Zitat Zitat von Fuerchau
    Wichtig ist noch folgendes:
    wenn du mit

    MyName = '%Müller%';
    und
    select ... where ... upper(KDNAME) like upper(:MyName) ...

    suchst, kommt auch nicht unbedingt das gewünschte Ergebnis, da die Variable MyName noch Leerzeichen am Ende enthält, die auf jeden Fall mitgesucht wird !
    Ergänze daher:

    select ... where ... upper(KDNAME) like upper(trim(:MyName)) ...

    *LANGIDSHR gibt dann Probleme, wenn es keine LF mit diesem Attribut gibt. Ich habe das mal ausprobiert und die Performance ging drastisch in den Keller da auf jeden Fall erst mal ein temporärer Index aufgebaut wurde.
    Also in solchen Fällen besser eine LF mit diesem Attribut erstellen und den SQL sogar auf diese LF loslassen.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Jan 2005
    Beiträge
    13

    OK

    Vielen Dank Euch beiden!

    Ich wollte gerade mal eben die SQL Referenz auf den Drucker jagen. Tse! 1100 Seiten? Das macht bei Duplex immerhin noch 550. Ok! Das lasse ich lieber! ; - )

    @ Birgitta:
    Ich danke Dir für den LINK! Den hätte ich sonst nie auf den IBM Websites gefunden! No Way!

    Was die Änderung der Sortierfolge angeht: Das werde ich mir mal anschauen!

    @ BenderD:
    OK!! ;-)

    @ Fuerchau:
    Ich habe die Trim Funktion mal ergänzt. Die Frage währe noch, ob folgendes nicht sinnvoll ist:

    select ... where ... upper(trim(KDNAME)) like upper(trim(:MyName))

    Bei Deiner Variante werden doch nur bei Variable die Leerzeichen gekürzt, oder? Nicht aber beim Feldwert.

    Was ist hier sinnvoll?

    Gruß René

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Da der LIKE ja einem SCAN nahe kommt, ist ein TRIM des Suchfeldes nicht erforderlich. Für eine Zugriffsoptimierung ist das sogar NICHT ratsam.
    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

  5. #5
    Registriert seit
    Jan 2005
    Beiträge
    13

    Wink OK!

    Hi Fuerchau!

    Ich danke!!!

    Gruß René

Similar Threads

  1. MS Access ODBC mit JOIN: SQL FEHLER666
    By olafu in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 05-10-06, 08:13
  2. iSeries Access V5R3M0 ServicePacks nicht installierbar
    By Unwissender in forum NEWSboard Windows
    Antworten: 9
    Letzter Beitrag: 03-07-06, 15:01
  3. ISeries AS400 und MS Access
    By Trix in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 26-10-05, 12:30
  4. iSeries Access ODBC Driver und MS SQL Server ...
    By rcauchy in forum NEWSboard Windows
    Antworten: 1
    Letzter Beitrag: 23-06-05, 13:28
  5. MS Access Zugriff via ODBC auf iSeries Tabellen
    By Rico in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 21-03-05, 09:43

Berechtigungen

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