Цель работы:
Целью лабораторной работы является изучение и практическое применение индексирования.
Задание на работу:
1. Создайте таблицу для экспериментов. В таблице должно обязательно быть два целочисленных поля. Первое поле будет использоваться в качестве ключа поиска. Это может быть номер зачетной книжки, табельный номер сотрудника, номер заказа, и т.п. Второе поле - информационное – нужная нам информация (например – зарплата, стипендия, средний балл, сумма заказа). Оставьте эту таблицу пустой.
2. Напишите процедуру, заполняющую эту таблицу случайными данными (например, используйте формулу псевдослучайной последовательности x[i + 1] = x[i] * 1103515245 + 12345). Реализуйте ее так, чтобы в таблице появилось сто-двести строк с одинаковыми значениями столбца (но не добавляйте эти строки одновременно - физически они должны появиться на разных станицах. Проще всего это сделать, разделяя значение псевдослучайной последовательности по модулю. Например, если вы хотите добавить 150 тысяч строк, разделите по модулю значение псевдослучайной последовательности на 100, тогда у вас появится где-то по 150 строк с одинаковыми значениями). Запустите ее. Засеките время ее выполнения - количество данных должно быть достаточным, чтобы это время стало ощутимым. Повторите это пять раз (перед каждым разом очищая таблицу), чтобы оценить, сколько времени занимает выполнение процедуры в среднем.
3. Напишите процедуру, тестирующую время выборки данных. Объявите в ней числовую переменную. В процедуре должен быть цикл, в теле которого выбирается запись по случайному ключу, а значение информационного поля добавляется к объявленной числовой переменной. Например, вам нужно найти общую сумму заказов со случайными номерами. Запустите эту процедуру и измерьте время ее выполнения (повторите пять раз).
4. Проиндексируйте ключевое поле и повторите пункты 2 и 3. Сравните измеренное время с результатами, полученными ранее. Время должно отличаться! Если во всех экспериментах оно стремится к нулю, значит у вас недостаточно итераций циклов и недостаточно данных. В этом случае сделайте необходимые изменения и повторите весь комплекс экспериментов.