Заказ закрыт
Оптимизация базы данных / запроса

Бюджет: по договоренности
Добрый день!
Имеется таблица (1,8М строк / MyISAM стоит на ВПС 4ядра/2Гб): 
id        – int(11) – index              – 1234567
hash   – varchar(100) – index      – asd2f12g
url      – varchar(1000) – index     – asd.com/1.jpg
title    – varchar(255) – index       – super title
tags   – varchar(255) – index       – tag1;tag2;tag3
cats   – varchar(100) – index       – category1;category2
star    – varchar(100) – index       – super star
duration – int(11) – index             – 2568

Нужно организовать поиск по слову по колонкам название/теги/категории. И вывод случайный N результатов.
Запрос
SELECT hash, url, title, dur FROM main WHERE title LIKE '%$key%' ORDER BY RAND() limit 32
занимает около 5 сек. что совсем неприемлемо. 

Можно ли переделать саму базу и запрос на поиск чтобы время выполнения было <0,05сек
Опубликован 21.07.2015 в 12:32
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.