Столкнулся с одной задачкой - FoxPro не мог супер эффективно посчитать количество записей
лежащие в диапазоне индекса.
Стал ковыряться с CDX.
Возможно - кому интересно физическая структура -
http://www.alxsoft.narod.ru/ENG/idxview.htmк сожалению сайт похоже умер и скачать утилиту нельзя, поэтому прикладываю к сообщению.
Но суть не в этом. Сейчас используются в основном Fox, реже Advantage , пытаются приладить SQLLite.
Между тем структура CDX хорошо описана (но недостаточно чтобы сходу писать программы)
В Русской справке по Fox поиск раздела "Структура компактного индексного файла (.idx)"
"Структура файла составного индекса (.cdx) "
Аналогично DBF.
Т.е. при помощи простых файловых операций : открытие\чтение\сдвиг
можно эффективно получать данные.
Например при помощи BinaryData(но так как операций огромное количество вероятно что лучше пользовать чистый С++)
Остается разработка операций группирования - но большинство реализованы в Индексированной таблице.
Пожалуй это может быть самым быстрым доступом к файловой базе.
Совместимо с объектами 1С++ (не требуется лишние перегрузки таблиц) и 1С.
Также код подойдет для не 1С платформ.
Насчет монопольного режима не знаю - BinaryData может читать DBF в монопольном ?