Search username, name and their metadata

Hi,

   I want search a string in elgg_users_entity and elgg_metadata tables. Please check the sql what i have written. But it take lot of time. Is it right?

Sql:

SELECT DISTINCT * FROM elgg_entities e  
JOIN elgg_metadata md on e.guid = md.entity_guid  
JOIN elgg_metastrings msn on md.name_id = msn.id  
JOIN elgg_metastrings msv on md.value_id = msv.id  
JOIN elgg_users_entity ue ON e.guid = ue.guid

 WHERE  (msn.string IN ("skills","skills1")
 AND msv.string = 'php' OR  (ue.username LIKE '%php%' OR ue.name LIKE '%php%')
 AND ( (1 = 1)  and md.enabled='yes' OR (md.owner_guid = 2 AND md.enabled='no')))
 AND  ((e.type = 'user')) AND  (e.site_guid IN (1))