Учебно-практическое пособие москва 2017 ббк


 Повышение производительности



Pdf көрінісі
бет215/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   211   212   213   214   215   216   217   218   ...   243
Байланысты:
Язык SQL. Базовый курс

10 Повышение производительности
Заставить PostgreSQL работать быстро — эта задача может возникнуть с ростом объема данных.
Мы покажем лишь самые простые методы ее решения.
10.1 Основные понятия
Для понимания материала этой главы необходимо сначала познакомиться с такими
важными понятиями, как метод доступа и способ соединения наборов строк.
Метод доступа
характеризует тот способ, который используется для просмотра таб-
лиц и извлечения только тех строк, которые соответствуют критерию отбора. Су-
ществуют различные методы доступа: последовательный просмотр (sequential scan),
при котором индекс не используется, и группа методов, основанных на использова-
нии индекса. К ней относятся: просмотр по индексу (index scan), просмотр исклю-
чительно на основе индекса (index only scan) и просмотр на основе битовой карты
(bitmap scan).
Поскольку и таблицы, и индексы хранятся на диске, то для работы с ними эти объ-
екты считываются в память, в которой они представлены разбитыми на отдельные
фрагменты, называемые страницами. Эти страницы имеют специальную структуру.
Размер страниц по умолчанию составляет 8 килобайт.
При выполнении
последовательного просмотра
(sequential scan) обращения к ин-
дексам не происходит, а строки извлекаются из табличных страниц в соответствии с
критерием отбора. В том случае, когда в запросе нет предложения WHERE, тогда из-
влекаются все строки таблицы. Данный метод применяется, когда требуется выбрать
все строки таблицы или значительную их часть, т. е. когда так называемая
селектив-
ность
выборки низка. В таком случае обращение к индексу не ускорит процесс про-
смотра, а возможно даже и замедлит.
Просмотр на основе индекса
(index scan) предполагает обращение к индексу, со-
зданному для данной таблицы. Поскольку в индексе для каждого ключевого значения
содержатся уникальные идентификаторы строк в таблицах, то после отыскания в ин-
дексе нужного ключа производится обращение к соответствующей странице таблицы
и извлечение искомой строки по ее идентификатору. При этом нужно учитывать, что
хотя записи в индексе упорядочены, но обращения к страницам таблицы происходят
хаотически, поскольку строки в таблицах не упорядочены. В таком случае при низкой
селективности выборки, т. е. когда из таблицы отбирается значительное число строк,
использование индексного поиска может не только не давать ускорения работы, но
даже и снижать производительность.


Достарыңызбен бөлісу:
1   ...   211   212   213   214   215   216   217   218   ...   243




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет