Добрый день!
Имеется таблица (1,8М строк / MyISAM стоит на ВПС 4ядра/2Гб):
id int(11) index 1234567
hash varchar(100) index asd2f12g
url varchar(1000) index
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сек