Как ускорить sql запрос?

Есть таблица statistic_raw размером 1.5Gb, около 5M строк. Запрос выполняется за 30..50 секунд.

select SQL_CALC_FOUND_ROWS h_referrer_url from statistic_raw 
where h_browser_id in 
(select distinct h_browser_id from statistic_raw where h_user_id = 36410) and h_internal=0
order by h_time desc;

Пробовал делать индексы:

CREATE INDEX idx1 ON statistic_raw(h_referrer_url, h_time, 
h_referrer_url_host,h_browser_id,h_user_id,h_internal)
CREATE INDEX h_referrer_url ON statistic_raw(h_referrer_url)
CREATE INDEX h_browser_id ON statistic_raw(h_browser_id)
CREATE INDEX h_browser_id_int ON statistic_raw(h_browser_id, h_internal)

Сделать выдачу за вменяемое время увы не вышло, хочется увидеть 1..5 секунд

Может я не правильно индексы делал? Или подобную задачу нужно решать каким-то иным вариантом?


Ответы (0 шт):