SQL :
SELECT
COUNT(usr.id) as `total_results`
FROM
users as usr
LEFT JOIN profile as prof
ON prof.uid = usr.uid
WHERE
usr.username LIKE '%a%'
OR
prof.name LIKE '%a%'
Indexes on users:
uid - uid
username - username
Indexes on profile
index1 - uid
index2 - uid,name
index3 - name
EXPLAIN :
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY usr ALL NULL NULL NULL NULL 18387
1 PRIMARY prof ref index2,index1 index2 8 site.usr.uid 1 Using where
2 DEPENDENT SUBQUERY sub ref i3,index1,index2 i3 16 site.usr.uid,const 1 Using index
the above query takes about 0.1221
how can i make it run faster?
I removed this query so it won't show the total result count when a search is done.
Seems a temporary solution or even permanent.