Documentation Home

Performance Suggestions

Startswith for String Filtering

For very large catalogs (1 million+ Skus) filtering in the admin can take a very long time, specifically for String fields. This is partly because the default query is built with wildcards on either side of the search term like:

SELECT * FROM BLC_SKU WHERE sku.name LIKE "%filter-string%"

(such as %filter-value%). This does not use indexes very efficiently. By setting the admin.search.string.onlyStartsWith property to true in your properties files:

admin.search.string.onlyStartsWith=true

This modifies the query to instead use a query like filter-value%:

SELECT * FROM BLC_SKU WHERE sku.name LIKE "filter-string%"

This modification along with proper indexing has been known to cut filtering time in half.