Имеется БД в MySQL, в ней есть таблица вида:
create table t1 ( v1 bigint, v2 bigint, key1 int ); create index idx1 on t1 (v1, v2);
В таблице ~1.5 млн записей. Таблица регулярно дергается запросами вида:
select key1 from t1 where :value between v1 and v2;
Проблема в том, что при кол-ве обращений к таблице порядка 100-200 в секунду мускуль просто-напросто валится, либо отдает результат чуть ли не полминуты.
Каким образом можно ускорить выполнение этого запроса? Или, может быть, можно где-то кэшировать результаты (возможно, и мимо БД)?
Значения :value практически всегда разные.