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



Download 17,08 Mb.
Pdf ko'rish
bet42/210
Sana25.06.2022
Hajmi17,08 Mb.
#704548
TuriРуководство
1   ...   38   39   40   41   42   43   44   45   ...   210
Bog'liq
OptimizZaprvPostgreSQL

Номер блока
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16
Индекс 1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
Индекс 2
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
Логическое «и» 

0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
Рис. 3.7 

Использование битовых карт
для доступа к таблицам по нескольким индексам
Движок базы данных начинает со сканирования двух индексов и построе-
ния для каждого из них битовой карты, которая указывает на блоки с под-
ходящими табличными строками. Эти битовые карты показаны на рисунке 
в строках, обозначенных «Индекс 1» и «Индекс 2». Как только битовые карты 
будут созданы, движок выполняет побитовую операцию «и», чтобы найти 
блоки, содержащие подходящие значения для обоих критериев отбора. Нако-
нец, сканируются блоки данных, соответствующие единицам в полученной 


Сочетание отношений 

51
битовой карте. Таким образом, к блокам, которые удовлетворяют только 
одному из двух критериев, не придется обращаться.
Обратите внимание, что подходящие значения могут находиться в раз-
ных строках одного блока. Битовая карта гарантирует, что соответствующие 
строки не будут пропущены, но не гарантирует, что все просканированные 
блоки содержат подходящие строки.
Битовые карты очень компактны; однако для очень больших таблиц они 
могут занимать много блоков.
Другие виды индексов
PostgreSQL предлагает множество индексных структур, поддерживающих 
разные типы данных и разные классы условий поиска.
Хеш-индекс
использует хеш-функцию для вычисления адреса индексно-
го блока, содержащего индексный ключ. Для условия равенства этот тип 
индекса работает быстрее B-дерева, однако он совершенно бесполезен для 
запросов по диапазону. Стоимостная оценка поиска по хеш-индексу не за-
висит от размера индекса (в отличие от логарифмической зависимости для 
B-деревьев).
R-дерево
поддерживает поиск по пространственным данным. Индексный 
ключ для R-дерева всегда представляет собой прямоугольник в многомерном 
пространстве. Поиск возвращает все объекты, имеющие непустое пересе-
чение с прямоугольником запроса. Структура R-дерева похожа на структу-
ру B-дерева; однако расщепление переполненных узлов устроено намного 
сложнее. R-деревья эффективны для небольшого числа измерений (обычно 
от двух до трех).
Другие типы индексов, доступные в PostgreSQL, полезны для полнотексто-
вого поиска, поиска в очень больших таблицах и многого другого. Дополни-
тельная информация по этим темам представлена в главе 14. Любой из этих 
индексов можно относительно легко настроить для пользовательских типов 
данных. Однако в этой книге мы не обсуждаем индексы по пользовательским 
типам.

Download 17,08 Mb.

Do'stlaringiz bilan baham:
1   ...   38   39   40   41   42   43   44   45   ...   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