Try to create an derived index containing a key field with the substring.
Create Index YourSchema.YourIndex
On YourSchema.YourTable(Substr(YourColumn 5, 6) As KEYNAME Asc);
You may also add other key fields
Create Index YourSchema.YourIndex
On YourSchema.YourTable(other Keyfields, Substr(YourColumn 5, 6) As
KEYNAME Asc, other KeyFields);
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
?Train people well enough so they can leave, treat them well enough so they
don't want to.? (Richard Branson)
-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxx> On Behalf Of Justin
Taylor
Sent: Freitag, 4. Mai 2018 16:16
To: MIDRANGE-L (midrange-l@xxxxxxxxxxxx) <midrange-l@xxxxxxxxxxxx>
Subject: Better SQL performance than SUBSTRING
I know that a LIKE performs better than a SUBSTRING in a SQL WHERE clause.
Is there a better option than a SUBSTRING for checking specific positions in
a column?
Given MY_TABLE with MY_COLUMN defined as char(12) and this query:
Select *
From MY_TABLE
Where substring(MY_COLUMN, 5, 6) = '123456';
Is there an alternative to SUBSTRING that will perform better?
TIA
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe,
or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at
https://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
http://amzn.to/2dEadiD
As an Amazon Associate we earn from qualifying purchases.