Проверьте это - профилирование чего-то настолько простого, насколько это должно быть тривиально.
Кроме того, помните, что базы данных предназначены для выполнения именно такого рода задач, поэтому они, естественно, преуспеют в этом. Даже наивный бинарный поиск будет иметь только 17 сравнений для этого, поэтому 25 тыс. Элементов это не много. Настоящая проблема - сортировка, но она была побеждена до смерти за последние 60 с лишним лет.