I have a table User which has the fields (id, first_name, middle_name, last_name).
I want to write a query to find a user by his name. The name may be first name, middle name or last name.
$sql = "SELECT * FROM user 
        WHERE first_name like '%$name%' OR  
              middle_name like '%$name%' OR
              last_name like '%$name%'";
Is it efficient query? (Leave the security issue for the time being.)
Alter table and add composite Fulltext index on First_name,second_name,last_name then use this query
select * 
from table_name 
where match (`First_name`,`second_name`,`last_name`) against('name')
It's pretty much faster then your query.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With