Ускорить запрос для автозаполнения ввода

Я пытаюсь реализовать автозаполнение для моего окна поиска.

У меня есть база данных с таблицей книг, поэтому, когда пользователь начинает вводить текст в поле поиска, я хочу иметь возможность показать им окно с предложением первых 6 названий, которые соответствуют набираемым словам.

Я использовал Ajax для запроса PHP, который имеет следующий код:

    $terms           = explode( " ", $data->word );
$terminos        = '';
foreach( $terms as $term ) {
if ( $term == '' || $term == ' ' || strlen($term)==0 ) continue;
if ( $terminos != '' ) $terminos .= " AND title LIKE '%$term%' ";
else $terminos .= " title LIKE '%$term%' ";
}
$pdo = MySQLUtil::getConnection();
$query = "SELECT title
FROM books
WHERE :terminos
LIMIT 6";

$stmt = $pdo->prepare($query);
$stmt->bindParam(':terminos',   $terminos,      PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
if ($result) {
return $result;
} else {
return false;
}

Это решение очень медленное и нужно знать, как я могу ускорить запрос.

Есть идеи?

Заранее спасибо.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …