LIKE Operator optimization String % customer %
0
votes
0
answers
33
views
In MYSQL, I have a select query which is usually fetch the data from 4M records. There I'm using like operator with % and % this is not using indexing filter and reading total 4M records to fetch 2 records. How can I optimize it.
SELECT
r_ss.siteId,
r_ss.referrer,
r_ss.supplierhash,
min(r_ss.bid_floor) as bid_floor,
sum(r_ss.adCall_yesterday) as adCall_yesterday,
sum(r_ss.adCall_today) as adCall_today FROM
reporting.total_data_for_site r_ss WHERE
(r_ss.adCall_today > 1 OR r_ss.adCall_yesterday > 100)
AND CASE WHEN ( '1367,1397,1624' IS NOT NULL AND '1367,1397,1624' '' ) THEN r_ss.siteId IN ( SELECT * FROM tmp_site ) ELSE 1 = 1 END
AND r_ss.deviceid in (38,39,41)
AND r_ss.referrer LIKE CONCAT('%','watchfree', '%')
group by r_ss.siteId,r_ss.referrer ;
Asked by Aravind
(11 rep)
Jul 16, 2025, 01:09 PM