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

Commit ff9cd5d

Browse files
committed
cluster command
1 parent 5062029 commit ff9cd5d

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

performance/hard_disk.tex

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
\section{Диски и файловые системы}
22
Очевидно, что от качественной дисковой подсистемы в сервере БД зависит немалая часть производительности. Вопросы выбора и
3-
тонкой настройки <<железа>>, впрочем, не являются темой данной статьи, ограничимся уровнем файловой системы.
3+
тонкой настройки <<железа>>, впрочем, не являются темой данной главы, ограничимся уровнем файловой системы.
44

55
Единого мнения насчёт наиболее подходящей для PostgreSQL файловой системы нет, поэтому рекомендуется использовать ту, которая лучше
66
всего поддерживается вашей операционной системой. При этом учтите, что современные журналирующие файловые системы не намного
@@ -12,8 +12,8 @@ \section{Диски и файловые системы}
1212
\subsection{Перенос журнала транзакций на отдельный диск}
1313
При доступе к диску изрядное время занимает не только собственно чтение данных, но и перемещение магнитной головки.
1414

15-
Если в вашем сервере есть несколько физических дисков\footnote{несколько логических разделов на одном диске здесь,
16-
очевидно, не помогут: головка всё равно будет одна}, то вы можете разнести файлы базы данных и журнал транзакций по разным
15+
Если в вашем сервере есть несколько физических дисков (несколько логических разделов на одном диске здесь,
16+
очевидно, не помогут: головка всё равно будет одна), то вы можете разнести файлы базы данных и журнал транзакций по разным
1717
дискам. Данные в сегменты журнала пишутся последовательно, более того, записи в журнале транзакций сразу сбрасываются на диск,
1818
поэтому в случае нахождения его на отдельном диске магнитная головка не будет лишний раз двигаться, что позволит ускорить запись.
1919

@@ -26,4 +26,9 @@ \subsection{Перенос журнала транзакций на отдель
2626
\end{itemize}
2727

2828
Примерно таким же образом можно перенести и часть файлов, содержащих таблицы и индексы, на другой диск, но здесь
29-
потребуется больше кропотливой ручной работы, а при внесении изменений в схему базы процедуру, возможно, придётся повторить.
29+
потребуется больше кропотливой ручной работы, а при внесении изменений в схему базы процедуру, возможно, придётся повторить.
30+
31+
\subsection{CLUSTER}
32+
CLUSTER table [ USING index ]~--- команда для упорядочивание записей таблицы на диске согласно индексу, что иногда за счет уменьшения доступа к диску ускоряет выполнение запроса. Возможно создать только один физический порядок в таблице, поэтому и таблица может иметь только один кластерный индекс. При таком условии нужно тщательно выбирать, какой индекс будет использоваться для кластерного индекса.
33+
34+
Кластеризация по индексу позволяет сократить время поиска по диску: во время поиска по индексу выборка данных может быть значительно быстрее, так как последовательность данных в таком же порядке, как и индекс. Из минусов можно отметить то, что команда CLUSTER требует <<ACCESS EXCLUSIVE>> блокировку, что предотвращает любые другие операции с данных (чтения и записи) пока кластеризация не завершит выполнение. Также кластеризация индекса в PostgreSQL не утверждает четкий порядок следования, поэтому требуется повторно выполнять CLUSTER для поддержания таблицы в порядке.

0 commit comments

Comments
 (0)