Saturday, January 26, 2013

Multiple like in sql Query performance

Multiple like in sql Query performance

Multiple like in sql query may slow down performance if not properly done !

Was using the below sql query in PHP
SELECT DISTINCT col.id,name,desc,city FROM col,course WHERE course.id=col.id AND course.id='$sql_id' AND name LIKE '%$like%' OR desc LIKE '%$like%' ORDER BY name LIMIT 0,100
I was using 2 like in my sql query and the query was taking exceptional long time to execute.

Simple use of parentheses "()" solved the problem, modified sql query looked like
SELECT DISTINCT col.id,name,desc,city FROM col,course WHERE (course.id=col.id AND course.id='$sql_id') AND (name LIKE '%$like%' OR desc LIKE '%$like%') ORDER BY name LIMIT 0,100
This improved the performance. Probably the use of Multiple like confuses the execution of the query and adding parentheses makes it more clear.

For more posts like these visit www.internet-programs.com/forum/