Возможно, вы захотите опубликовать свой вопрос на форуме Berkeley DB по OTN здесь . Существует активное сообщество разработчиков поддержки, разработки и приложений BDB, которые непосредственно взаимодействуют на этом форуме.
Что я слышал от заказчиков и наше собственное использование префикса Btree в продукте BDB XML, так это то, что он может значительно уменьшить размер внутренних узлов btree, а также повысить эффективность кэша, сократить объем операций ввода-вывода и тем самым повышение эффективности поиска отдельных ключей. Об этом также говорится в документации о префиксной функции btree, расположенной здесь . Степень улучшения производительности зависит от a) ваших данных, b) шаблонов доступа к данным вашего приложения. Если значение ключа в основном идентично, то вы сэкономите больше места в индексе btree. Если ваши шаблоны доступа к данным выполняют много ключевых операций поиска и, имея меньшее дерево, вы сокращаете количество операций ввода-вывода, которые вам необходимо выполнить, производительность будет улучшаться соразмерно.
Обратите внимание, что если вы предоставляете функцию префикса btree, вы также должны предоставить совместимую функцию сравнения btree.
Для BDB XML мы увидели уменьшение размера дерева на 20-30.
Функции сравнения / префикса лексикографических ключей, используемые по умолчанию в Berkeley DB, могут уже обеспечивать требуемое поведение.
Удачи в ваших исследованиях.