below query taking 5+ sec time execute ( table contains 1m+ records ). outer query not using proper index fetching data using full table scan.can me how optimize it..
query
select x usercardxref x x.usercardxrefid in( select max(y.usercardxrefid) usercardxref y y.usrid in(1001,1002) group y.usrid having count(*) > 0 ) query explain
query statistics
execution plan
i re-write query
select x.* usercardxref x join ( select max(usercardxrefid),usrid usercardxref usrid in (1001,1002) group usrid )y on x.usercardxrefid = y.usercardxrefid the indexes need as
alter table usercardxref add index usercardxrefid_idx(usercardxrefid) usrid indexed per explain plan no need add that
also have having count(*)>0 using max() function , never have 0 rows given group have removed that.



Comments
Post a Comment