Время запроса к БД может быть и больше, чем к памяти. А вот поиск необходимой информации средствами БД на пару порядков быстрее, сем любой Ваш "наколенничек". Для таблицы в 2000 строк 300 тыс. обращений в секунду - вообще ничто. А вто Ваши самописные лукапы под такой нагрузкой повесят приложение к хренам. И выигрыша никакого не будет. 146%.
Если я правильно понял - то нужен поиск в массиве массивов..
Да. Поиск по одному полю я сделал, там ничего сложного. По промежутку пока не делал, поэтому и спросил, есть ли готовые решения. На Pure Perl вряд ли будет эффективно.