есть такой запрос: SELECT u.id AS id и куча всего другого FROM users AS u LEFT OUTER JOIN _codes AS c ON u.id = c.id_user WHERE 1 AND ( u.cellphone LIKE '%80895654%' OR LCASE(u.surname) LIKE '%80895654%' OR c.code LIKE '%80895654%') ORDER BY u.surname LIMIT 0,50 выполняется около 2.5 секунд что можно сделать для уменьшения времени работы запроса...
происходит полный перебор лайками, причем по обеим таблицам. их надо вынести в отдельный запрос по одному и соединить с помощью union а потом выбирать по нужным ид. Сделай сам.