Visual Basic 6. Руководство разработчика

       

Индексы


Индексы — это структуры, которые определяют порядок записей в таблице. Обычно данные в таблице не упорядочены. На практике, тем не менее, возникает необходимость обращаться к ним в определенном порядке. Когда печатается список имен заказчиков, необходимо печатать их в алфавитном порядке. Если печатаются почтовые этикетки, то, вероятно, необходимо печатать их в порядке почтового индекса. Тип обработки, выполняемой над базой, определяет порядок, в

котором должны быть расположены строки таблицы. Это главное для таблицы, которая будет по-разному использоваться в различных операциях.

Если запрос обуславливает различный порядок строк в таблице, то их придется реорганизовать. Но для этого требуется слишком много времени. Решение проблемы состоит в том, чтобы поддерживать маленькие таблицы, называемые индексами, которые определяют последовательность чтения записей из таблицы. Индексный файл не содержит информацию, которая появлялась бы в таблице непосредственно: только числа, определяющие порядок записей.

Предположим, пятая запись в таблице должна появиться первой, когда строки таблицы запрошены в алфавитном порядке. Первый элемент индексного файла содержит значение 5. Значит, когда из базы данных будут извлекаться строки заданной таблицы, сначала будет извлечен пятый элемент.

Примечание

В гл. 5 рассматривалось приложение, в котором использовалось свойство ItemData списка для поддержания отсортированных данных с помощью элемента управления ListBox. Индексные файлы подобны элементам свойства ItemData.

Таблица может иметь более одного индекса. Индексы всех таблиц в базе данных поддерживаются механизмом JET. Единственное, что нужно выполнить — это задать поля, на которых будет основан индекс.

В каких случаях индексация не нужна?

Когда запись модифицируется, индексы также должны модифицироваться. Это заметно увеличивает время модифицирования записи. Индексы также увеличивают занимаемый объем памяти и, следовательно, время и ресурсы, необходимые для обычного резервирования.

Поддержание множественных индексов для каждой таблицы на всякий случай — хорошая идея, однако за индексные файлы нужно платить. Вводить дополни­тельные индексы надо только в том случае, если они необходимы для соответст­вующей операции над базой данных. Слишком много индексов, особенно для очень больших таблиц, которые часто изменяются, замедлят их обработку.



Содержание раздела