Big O («Большое О»)

«O» означает «не хуже, чем».
Если вы говорите, что алгоритм работает за O(n), это значит, что в худшем случае время выполнения не превысит линейное (n). (Технически это математическое обозначение для верхней границы).

Вытаскивание значения из БД по индексу - от О(1) до О(log(n)). Потому что:
Большинство баз данных по умолчанию используют B-Tree(а он О(log(n)), потому что он универсален. Но если ваша задача — "достать запись по ID" и больше ничего, HASH-индекс может ускорить этот процесс в разы на больших объемах данных.
HASH-индекс это тоже Индекс, но другой.

Один цикл for по массиву — это O(n).

Два вложенных цикла (for внутри for) — это O(n²).

Три вложенных — это O(n³).

----------------

Big O («Большое О»)» — это математическая нотация, которая в программировании и IT используется для описания асимптотической сложности алгоритмов.

Асимптотический анализ алгоритмов

Простыми словами: это способ измерить, как сильно вырастет время выполнения (или потребление памяти) алгоритма, когда размер входных данных (N) становится очень большим.

Главная задача Big O — не посчитать точные секунды (это зависит от железа), а понять, насколько быстро алгоритм «тормозит» при росте данных.

Компьютер: