[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    Klar, dass er nicht binär suchen kann. Aber wenn ein Index so aufgebaut wäre, dass alle Zeichen des Namens in Kleinbuchstaben gespeichert sind, könnte er den Tablescan dann ja auf dem Index machen, anstatt das echte Dateifeld zu nehmen. Das "echte" Dateifeld müsste er ja immer erst in Kleinbuchstaben umwandeln, bevor er die like-Suche auf dem feld macht.

    Zitat Zitat von Fuerchau Beitrag anzeigen
    Hierzu betrachte mal den Like:

    Like '%xxx%' => Kein Index möglich!
    Like 'xxx%' => Index möglich

    Der Grund ist eben, dass ein Index ja nicht über jeden Teilschlüssel (Substring) erstellt wird sondern über den gesamten Wert.
    Ein Like '%...' erzwingt immer eine Tablescan, solange nicht andere Felder in der Whereklausel Indexverwendungen ermöglichen.

    Wenn man ähnlich klingende Schlüssel sucht, kann man SOUNDEX() verwenden, wobei hier ein ggf. vorhandener berechneter Index verwendet werden kann:

    where soundex(Namensfeld) = soundex('Meier')

    in diesem Fall werden Meier, aber auch Meyer o.ä. geliefert.

    Apropo embedded SQL:
    exec sql set options ....

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Ja und nein.
    Ein Indexonly-Zugriff erfolgt ausschließlich, wenn auch nur Felder im Select verwendet werden, die im Index vorkommen.

    Also ein
    "select name where name like '%xxx%'"
    mag dann schneller sein.

    Für den Indexonly-Zugriff wäre ggf. folgender Select performant, kann ich aber nicht versprechen:

    with
    xName as (
    select name
    from mytable
    where name like '%xxx%')

    select ....
    from mytable x
    inner join xName on x.name = xName.Name
    where ...
    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
    Jan 2012
    Beiträge
    1.199
    OK, vielen Dank für die Infos.

    Dieter

Similar Threads

  1. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  4. sql funktion
    By steven_r in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 01-06-06, 12:16
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

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