Руководство по созданию эффективных запросов


Индексирование очень больших таблиц



Download 17,08 Mb.
Pdf ko'rish
bet198/210
Sana25.06.2022
Hajmi17,08 Mb.
#704548
TuriРуководство
1   ...   194   195   196   197   198   199   200   201   ...   210
Bog'liq
OptimizZaprvPostgreSQL

Индексирование очень больших таблиц
Любой индекс занимает некоторое место, а индексы для больших таблиц 
могут быть очень большими. Можно ли уменьшить размер индекса?
В учебниках по базам данных различают плотные и разреженные индек-
сы. Все рассмотренные до настоящего момента индексы являются плотны-
ми: они содержат все значения индексированного столбца (или столбцов). 
Разреженный индекс содержит только часть всех значений, но уменьшает 
количество чтений, необходимых для поиска любого из значений индек-
сированного атрибута. Такие индексы отличаются от частичных индексов, 
которые не ускоряют поиск значений, не включенных в индекс.
Некоторые системы баз данных всегда хранят строки таблицы в порядке 
(суррогатного) первичного ключа. В таких системах индекс по первично-
му ключу может содержать только одно значение на каждый блок таблицы 
и будет в таком случае разреженным. Более продвинутые системы баз дан-
ных позволяют упорядочивать таблицы по значениям других атрибутов, не 
обязательно уникальных. Такая организация таблиц также допускает раз-
реженные индексы. Иногда разреженные индексы называют кластерными, 
поскольку строки с одинаковым значением индексируемого столбца разме-
щены близко друг к другу.
PostgreSQL не предоставляет средств для явного управления порядком 
строк. Однако во многих случаях строки упорядочиваются естественным 
образом. Например, строки, регистрирующие определенные виды событий, 
будут, скорее всего, добавляться к таблице и будут естественным образом 
упорядочены по времени добавления, что позволяет использовать для них 
разреженную индексацию.
Обобщение разреженных индексов, реализованное в PostgreSQL, называ-
ется BRIN, что расшифровывается как Block Range Index, индекс зон блоков. 


Индексирование JSON и JSONB 

265
Таблица, для которой создается индекс BRIN, рассматривается как последо-
вательность зон, где каждая зона состоит из фиксированного числа смежных 
блоков. Для каждой зоны запись индекса BRIN содержит сводку значений, 
находящихся в этой зоне. Например, сводка может содержать минимальное 
и максимальное значения столбца временной отметки в таблице журнала 
событий.
Чтобы найти любое значение индексированного атрибута, достаточно 
найти соответствующую зону блоков (используя индекс), а затем проскани-
ровать все блоки в этой зоне.
Способ вычисления сводки зависит от типа индексируемого столбца. Для 
интервалов сводка может быть интервалом, включающим все интервалы
содержащиеся в зоне блоков. Для пространственных данных сводка может 
быть ограничивающим прямоугольником, содержащим все прямоугольники 
в зоне блоков.
Если значения столбцов не упорядочены или строки в таблице не упоря-
дочены, индекс BRIN вернет несколько зон блоков, каждую из которых при-
дется просканировать.
Вычисление сводки обходится дорого. Поэтому PostgreSQL предоставля-
ет несколько вариантов сопровождения индекса BRIN: индекс может об-
новляться с помощью триггеров, сводка может обновляться автоматически 
вмес те с очисткой или может быть пересчитана вручную.

Download 17,08 Mb.

Do'stlaringiz bilan baham:
1   ...   194   195   196   197   198   199   200   201   ...   210




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish