Есть таблица с ~1.5M записей. Каждая запись - это диапазон чисел (начальное и конечное значение) и соответствующие этому диапазону данные.
Нужно осуществлять _быструю_ выборку данных, соответствующих дианазону, в который входит число, подаваемое на вход. Если перевести это на язык sql, то выглядеть это будет примерно так:
select * from tbl where X between a and b;
Сейчас это так и делается, однако, ни mysql, ни postgres не справляются с этим достаточно быстро: при 50-100 запросах в секунду они просто-напросто вешаются.