Драйвер Btrieve

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Здравствуйте.

А что, файлы битрива так и должны "пухнуть"!?
Или, возможно, просто "руки.sys"?

Размер записи ~300байт, размер Memo=400байт.
/MEMO=SINGLE/PAGESIZE=4096/COMPRESS=ON
Битрив 6.15.430 Wks edition Developer Kit.

Пустой файл создается размером ~55кило.
Добавление каждой записи увеличивает размер файла на ~45-50кило!
Где-то после тысячи записей размер файла выравнивается под расчетный размер ~Size(Record)*Records()

Это так и должно быть на небольшом кол-ве записей?

Да, еще включение компрессии на небольших файлах (до тыс.записей) не дает вообще никакого результата.

Какими настройками (драйвера/рекорд-менеджера) можно реально увеличить скорость пакетных операций (Insert/Change/Delete)?

P.S.
Все-таки TPS-драйвер в режиме транзакции - супер!
Вне всякой конкуренции! Раза в 3-4 быстрее битрива.
А вот в обычных условиях (без транзакции) битрив его обходит раза в 3-4.
Про Clarion2.1 вообще молчу - без транзакции медленнее битрива раз в 20! Ну а в транзакции - еще *2.


=============================
С уважением, Олег А. Руденко.
Oleg_Rudenko@mail.ru
Oleg_Rudenko@mail333.com

Библиотека DynaLib
http://dynalib.narod.ru

(Добавление)

Здравствуйте уважаемые.

Начальный размер в зависимости от структуры вполне может достигать 100 к (в последних версиях btrieve) , но чтоб на одну запись такой прирост никогда не видел.

Vasiliev B <soft2@mail.redcom.ru>
Написал: ClaList(2)
Гость

Сообщение Гость »

Добавление каждой записи увеличивает размер файла на ~45-50кило!
Количеством добавляемых страниц можно управлять. Send и, возможно, настройками серверной части.
Какими настройками (драйвера/рекорд-менеджера) можно реально увеличить скорость пакетных операций (Insert/Change/Delete)?
Убери сжатие. Сжатие производится серверной частью, а по сети идет вся рекорд. Поэтому однозначно на упакопке/распаковке ты теряешь время. Возможно, при сжатии записей драйвер ищет страницу, в которую надо запихнуть рекорд. Этим, наверное, можно объяснить распухание на первых записях.
Второй способ - маленькие MEMO поместить в рекорд. Ускорение в два раза.
Использование EOF, BOF замедляет чтение в два раза.
Реально ты почувствуешь разницу в обновлении, когда физически разнесешь сервер и рабочую станцию. На выделенном сервере (например Novell) второй раз чтение происходит не с диска, а выдергивается из буфера. Перестроение ключей, обновление, сброс транзакционных файлов в базу происходит в свободное время. Из-за этого получаем небольшие тормоза при чтении.

--
Сергей Редькин mailto:SPR@enigmasoft.com.ua
ЧП "Энигма Софт"
Написал: ClaList(2)
Ответить