Зависимость требований ресурсов от количества записей (участвующих в индексах) - примерно логарифм log(N) или если индексы не используются то N*log(N)
Про скорость чтения:
Пока файлы индексов или не иднексируемые данные кешируются в RAM, с увеличением объема данных скорость работы БД будет падать незначительно (время на получение самих данных будет выше чем их поиск), но как только оперативная память закончится (индексы в кеши не влезают) то
скорость работы скачкоорбазно упадет.
Про скорость записи:
К сожалению на запись данных в базу данных активно используется диск, соответственно зависимость log(N) сохраняется, но будет с большим коэффициентом от скорости диска на запись.
Поэтому если у вас большие объемы записей, сравнимые с чтениями, то нужно думать о узкоспециализированном посреднике, который можно сделать на порядки быстрее за счет к примеру траты места на диске.
Вот к примеру задача хранения и быстрого доступа к хешам может быть
решена быстрее любой БД за счет накладных расходов на дисковое хранилище со скоростями почти равными iops накопителей помноженное на их количество.
Вот в это же время на хабре была статья (зачем ее автор удалил, найти не могу) тестирования записей в mssql с миллионом как раз с индекосом по хешу, на каждый за несколько секунд - уныло.