Полагаю, для вас важна производительность.
Базы данных используют индексы для доступа к записям, записанным на диске.
Обычно это делается с помощью индексов дерева B +, которые имеют лог b n, где b для внутренних узлов обычно составляет от 100 до 200 (оптимизировано для размера блока, см. ref )
Это все еще, строго говоря, логарифмическая производительность, но, учитывая приличное количество записей, скажем, несколько миллионов, конечные узлы могут быть достигнуты за 3-4 шага и что, вместе со всеми накладными расходами на планирование запросов, инициирование сеанса блокировка и т. д. (которые у вас были бы в любом случае, если вам нужна многопользовательская ACID-совместимая система управления данными), безусловно, по всем практическим причинам сопоставима с постоянным временем.