Я предполагаю, что ваш PHP занимает много времени, чтобы сгенерировать результаты на основе запроса. В вашем журнале ошибок apache, вероятно, будет отображаться ошибка тайм-аута PHP, так как страница слишком длинна, чем 30 секунд, чтобы сгенерировать страницу.
Попробуйте установить LIMIT на что-то намного меньшее, например, 10, и посмотрите, может ли он генерировать страницу.
Еще одна вещь, которую вы можете сделать, это пропустить «стоп-слова», как они называются, такие слова, как «и», «the» и т. Д., Которые очень распространены в языке. Поисковые системы делают это, и быстрый поиск даст вам больше деталей и списков стоп-слов.
Вы можете увидеть, сколько времени занимает выполнение запроса, запустив запрос в таком инструменте, как phpMyAdmin.
SELECT SQL_CALC_FOUND_ROWS * FROM `table` WHERE type=4 AND text LIKE '%jabberwocky%' ORDER BY ref ASC";
По сравнению с
SELECT SQL_CALC_FOUND_ROWS * FROM `table` WHERE type=4 AND text LIKE '%the%' ORDER BY ref ASC";
В том же инструменте запроса, если вы поставите «EXPLAIN» перед запросом, MySQL вернет список всех действий, которые он должен был выполнить для выполнения запроса.
Стоит отметить, что поиск по слову 'the' также будет возвращать результаты для 'теорией' способа, которым построен ваш запрос. Нелегко кодировать без перехода на запрос REGEX.