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%'
用户索引:
uid - uid username - username
个人资料索引
index1 - uid index2 - uid,name index3 - name
解释 :
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
上面的查询大约需要0.1221
我怎样才能使其运行更快?
我删除了此查询,因此搜索完成后不会显示总结果数。
似乎是临时解决方案,甚至是永久解决方案。