Skip to content
This repository was archived by the owner on May 26, 2022. It is now read-only.

Commit 3c6a06e

Browse files
authored
Merge pull request #30 from avallac/information_adbout_self_balancing
B-Tree is self-balancing
2 parents 41b6a6a + 4e03100 commit 3c6a06e

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

postgresql_indexes.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,14 @@ \subsection{B-Tree}
4848
\item сохраняют сортированность данных;
4949
\item поддерживают поиск по унарным и бинарным предикатам (\lstinline!<a; = b; >c and <d; <e and >f!) за O($\log_m{N}$), где m~--- количество записей в блоке, N~--- количество элементов;
5050
\item позволяют не сканируя последовательность данных целиком оценить cardinality (количество записей) для всего индекса (а следовательно таблицы), диапазона, причём с произвольной точностью. Посмотрели корневую страницу~--- получили одну точность. Посмотрели следующий уровень дерева~--- получили точность получше. Просмотрели дерево до корня~--- получили точное число записей;
51+
\item самобалансируемый, для внесения изменения не требуется полного перестроения, происходит не более O($\log_m{N}$) дейстий, , где m~--- количество записей в блоке, N~--- количество элементов;
5152
\end{itemize}
5253

5354
Слабые стороны B-Tree индексов:
5455

5556
\begin{itemize}
56-
\item для их построения требуется выполнить полную сортировку пар (Значение, RowId);
5757
\item занимают много места на диске. Индекс по уникальным Integer-ам к примеру весит в два раза больше аналогичной колонки (т.к. храняться ещё и RowId);
58-
\item при постоянной записи дерево разбалансируется, а также начинает хранить данные разреженно (сразу после построения они могут лежать очень плотно), и время доступа увеличивается за счёт увеличения объёма дисковой информации. Поэтому B-Tree индексы требуют присмотра и периодического перепостроения (REBUILD);
58+
\item при постоянной записи дерево начинает хранить данные разреженно (сразу после построения они могут лежать очень плотно), и время доступа увеличивается за счёт увеличения объёма дисковой информации. Поэтому B-Tree индексы требуют присмотра и периодического перепостроения (REBUILD);
5959
\end{itemize}
6060

6161

0 commit comments

Comments
 (0)