Форум » [x]Harbour » Compound Index » Ответить

Compound Index

NickSam: Поделитесь пожалуйста опытом использования Compound Index (CDX). Как производительность, надежность по сравнению с обыкновенными? Есть ли смысл перехода на них?

Ответов - 10

Andrey: NickSam пишет: Есть ли смысл перехода на них? Да, есть. Использую активно с 1996 года. В нём есть удобнейшая штука - условный индекс (читать на форуме). Поиск по базе 400Мб в 1200 полей происходит ОЧЕНЬ шустро. По сети конечно тормозит такой поиск, но туда нужно ставить LetoDb - https://abonent4.ru/static/letodb/ или сразу переходить на него.

LYSK: Безусловно. Сам индексный файл компактнее, открывается автоматически при открытии файла данных. Для меня лично было очень существенным то, что индексы CDX были совместимы с FOXPRO. Правда,было это в благословенных 1990х, и Клиппер 5.2 + SIX RDD.. O, там были и невероятные плюшки с триггерами, SCOPE и транзакциями...

Oskar_AAA: Добрый день, БД содержит 108 млн.записей (размер 49 ГБ), есть 6 индексных файлов (CDX). При обновлении вылетает ошибка Hb_CdxPageStore: Page namber wrong БД Упаковал и повторно создал индексные файлы. Вопрос(ы): - насколько критично количество записей - размер файла - длинна ключа/ключей в индексном файле Размер ключа (ключей) в индексе не превышает 80 байт


Oskar_AAA: Добрый день, БД содержит 108 млн.записей (размер 49 ГБ), есть 6 индексных файлов (CDX). При обновлении вылетает ошибка Hb_CdxPageStore: Page namber wrong БД Упаковал и повторно создал индексные файлы. Вопрос(ы): - насколько критично количество записей - размер файла - длинна ключа/ключей в индексном файле Размер ключа (ключей) в индексе не превышает 80 байт

PSP: Oskar_AAA пишет: Page namber wrong Предположу, что это происходит при выделении памяти под очередную страницу. Слишком большие индексы. Имхо, конечно.

Oskar_AAA: Спасибо, сейчас удаляю данные за один год и попробуем повторить импорт.... Количество записей к удалению около 40 млн.шт. Результат напишу.

SergKis: Oskar_AAA пишет сейчас удаляю данные за один год и попробуем повторить импорт.... Количество записей к удалению около 40 млн.шт. По мне, лучше сразу организовать базу по годам, например по каталогу года или dbf оглавление по годам + номера док. или что надо и dbf-ы по годам, все доступы через оглавление или от имен каталогов - года

Oskar_AAA: Добрый день, друзья. Удалил данные за год (35 млн.записей) - все работает. Относительно разделения по годам: будем делить БД У кого-нибудь есть БД с количеством записей более 100 млн? Как работает CDX индексы?

SergKis: Oskar_AAA Охранная контора, события датчиков, задача на FireBird ~ 2,5 месяца => 10 000 000 записей FireBird еле движется, так же удаляют данные пред. месяцев, оставляя ~ 1 000 000. Сделал сбор всех данных в базу dbf по годам (dbf оглавления ссылка на огл. по месяцам) и месяцам (dbf оглавления на год) и сами данные dbf по месяцам. Каждый день ~20 минут в 7.00 данные из FireBird съедаются в базу dbf с CDX индексами. Уже с 2020 года база работает как часы, через dbf оглавления доступ оч. быстрый. База dbf используется для отчетов для клиентов и полицейским, юридическим вопросам. Для базы выделен отдельный PC сервер с W10, сама база на LetoDbf. За год ~( 2 000 000 * 12 ) записей в работе + рассылка SMS сообщений и сообщений на почту клиентам о событиях на объектах, т.е. открыли\закрыли двери ... События для SMS так же хранятся в базах по месяцам (до 9 моб. телефонов на 1 объект 1 событие можно отсылать SMS, т.е. жене, мужу sms, что дети пришли со школы, открыли дверь, во столько то закрыли дверь пошли на кружки и ...)

Oskar_AAA: SergKis Спасибо... сделаем по БД по годам....



полная версия страницы