D3 Reference Manual

Index | Help

Поиск по страницам

Разделы / Общие сведения / b-tree

b-tree

B-tree индекс

Термин "b-tree" описывает метод доступа к данным по принципу "сбалансированного дерева" (balanced tree), который поддерживается на всех уровнях системы D3 и во всех процессах, обращающихся к базе данных. В основном, "b"-дерево - это упорядоченный системный список, основанный на любом атрибуте или комбинации атрибутов из записей в файле. По этому вторичному ключу обеспечивается быстрый доступ к записям.

Существующие приложения системы D3 могут использовать "b"-деревья с незначительными изменениями. Любой процесс D3, изменяющий запись, автоматически обновляет индекс типа "b"-дерева. Сюда относятся "update", FlashBASIC, "edit", "copy", "t-load" и "restore".

AQL пользуется ключами "b"-дерева, когда соответствующая запись описания атрибута (ADI) указывается после модификатора "by" (например "sort entity by last.name"). "last.name" - это ссылка на атрибут, указанный также в коде обработки "i" ("index") в записи ADI. Если в одном запросе используется более одного модификатора "by", AQL игнорирует индексы "b"-дерева и просматривает весь файл. Модификатор "with" без модификатора "by" также использует дерево.

Более гибкий подход к использованию "b"-деревьев для выборки данных заключается в использовании процессора обновления (UP) или таких функций языка FlashBASIC, как "key" и "root".