If mixed case inside the field is a possibility, and you don't want the users to worry about getting the case just right in their search value, there are two things you could try:
(1) Switch the data source's SQL sort sequence back to *LANGIDSHR (or if the portal default sort is *LANGIDSHR, you could set the data source to *DEFAULT). This will make your WHERE clause segment case-insensitive. It should perform much better this time since it's only checking one column (your filter column), whereas before with the global search you were making it check all the character columns.
(2) In the event (1) doesn't give you the performance you'd like, you could leave the data source in *HEX sort and add an explicitly upper-cased field to your data source. Add it to the SELECT clause as "UPPER(your_field_name) as your_field_name_UC", then you can use that _UC column for your filter (doesn't matter that the column is not shown in the grid). Be sure to set the filter to Force Uppercase so it's doing an apples-to-apples comparison to the column value.
(1) Switch the data source's SQL sort sequence back to *LANGIDSHR (or if the portal default sort is *LANGIDSHR, you could set the data source to *DEFAULT). This will make your WHERE clause segment case-insensitive. It should perform much better this time since it's only checking one column (your filter column), whereas before with the global search you were making it check all the character columns.
(2) In the event (1) doesn't give you the performance you'd like, you could leave the data source in *HEX sort and add an explicitly upper-cased field to your data source. Add it to the SELECT clause as "UPPER(your_field_name) as your_field_name_UC", then you can use that _UC column for your filter (doesn't matter that the column is not shown in the grid). Be sure to set the filter to Force Uppercase so it's doing an apples-to-apples comparison to the column value.
Comment