-
Die Erklärung ist nur halbherzig:
Bei "%xxx%" erfolgt im Prinzip ein Scan über das Feld.
Bei "%XXX" muss der Inhalt des Feldes mit diesem Wert aufhören (also rechtsbündig). Da dein Feld sicher nicht vom Typ Varying ist, hast du halt noch Leerzeichen hinter dem Inhalt und somit Endet das Feld nicht mit der Suchfolge.
Bei "%1.... %" muss ein Leerzeichen im Feld hinter dem Suchbegriff sein, sollte der Inhalt rechtsbündig stehen, wird er nicht gefunden.
Kommen wir zur Performance.
Liegt über FELD ein Index, kann SQL ggf. einen Index-Only-Zugriff machen und somit erheblich schneller einen Tablescan durchführen.
Mit der Funktion "trim(FELD)" kann der Index nicht benutzt werden, was dann zu einem tatsächlichen Tablescan führt. Dies kann man ggf. mit einem "calculated Index" wiederum beschleunigen.
Übrigens kann man auch den Tablescan ein wenig beschleunigen, wenn man möglichst wenig gelöschte Sätze in der Tabelle hat, deshalb haben TABLE-Objekte auch default REUSEDLT(*YES), denn das überlesen von gelöschtgen Sätzen mangels Index kostet auch Zeit.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks