
4. Ввод, обработка
н
вывод данных в фактографических АИС
Если по полям «Дата_Рожд» и «Оклад» таблицы «Сотруд-
ники» существуют индексы, то возможны три варианта плана
выполнения запроса:
1) последовательно без учета индексации просматривать
(сканировать) записи таблицы «Сотрудники» и отбирать запи-
си при выполнении требуемых условий;
2) сканировать индекс поля «Дата_Рожд» с условием вы-
борки «>= #01/01/68#», выбирать соответствующие записи из
таблицы «Сотрудники» и среди них отбирать те, которые удов-
летворяют условию по полю «Оклад»;
3) сканировать индекс поля «Оклад» с условием выборки
«>100 руб.», выбирать соответствующие записи из таблицы
«Сотрудники» и среди них отбирать те, которые удовлетворя-
ют условию по полю «Дата_Рожд».
Стоимость каждого варианта в конечном счете определя-
ется главным образом количеством пересылаемых страниц (бло-
ков) из файла данных в буферы оперативной памяти ввиду того,
что, как уже отмечалось, время операций доступа к конкрет-
ным записям в оперативной памяти на несколько порядков мень-
ше времени процессов обмена между внешней и оперативной
памятью, и тем самым основные затраты приходятся именно
на эту операцию.
Если количество записей в таблице «Сотрудники» невели-
ко и все они умещаются в одной странице (в одном блоке) фай-
ла базы данных, то наименее затратным будет первый вариант.
Если записи таблицы «Сотрудники» распределены по множе-
ству страниц, менее затратными являются 2-й и 3-й варианты.
При этом различия между ними будут определяться так назы-
ваемой селективностью значений по полям «Дата_Рожд» и
«Оклад».
Селективность определяется главным
обрсоом
характером
статистического распределения значений по соответствующим
полям. Исходя из мощности (количества записей), вида (равно-
мерное, нормальное) и параметров распределения (среднее зна-
чение, максимальное и минимальное значение) можно полу-
чить приблизительные оценки количества страниц (блоков)
180