Mars Software Forum

forum.mars-soft.net

Формат базы?

Сообщайте о проблемах, предлагайте новые функции - всё о Mars Notebook здесь

Формат базы?

Unread postby diakin » Wed May 08, 2013 3:30 am

Еще один момент.. не знаю насколько это возможно.
Со временем размер базы растет и открывать ся он начинает очень долго. Возможно конечно это связано с тем, что файл базы проверяется антивирусом, но все таки..
Нельзя ли сделать так, чтобы при запуске программы не открывалась база целиком, а считывался только последний открытый подраздел дерева? Может быть хранить разделы в отдельных mnb файлах, а дерево тоже хранить отдельно?
diakin
Newbie
Newbie
 
Posts: 12
Joined: Tue Nov 09, 2010 5:59 pm

Re: Формат базы?

Unread postby Marsianin » Wed May 08, 2013 3:35 am

При запуске база не открывается целиком (попробуйте сначала запустить программу и потом открыть в ней базу), а тормоза при запуске ставит антивирус (например ESET), который долго думает из-за exe-упаковщика и защиты от взломов.
Is there any life on Mars ?
User avatar
Marsianin
Administrator
Administrator
 
Posts: 1563
Joined: Tue Jan 25, 2005 3:02 am
Location: Planet Mars

Re: Формат базы?

Unread postby Oleg_K » Wed May 08, 2013 4:26 am

Вопрос может и не совсем по теме. Ситуация такая. Имею основную базу (размер ~200Мб) каковою обычно и пользуюсь. Открывается быстро. Но если нужно открыть какую-то вспомогательную БД, то потом, при переоткрытии основной появляются тормоза. Т.е. тогда основная открывается достаточно медленно. Визуально это сопровождается последовательной отрисовкой разделов в дереве, словно проводится полная ревизия БД.
Вообще говоря я нашел кустарный способ как это обходить (копирую заранее сохраненный ini файл с настройкой на основную БД в директорию Марса перед открытием), но он не совсем удобный (приходится часто менять "эталонный" ini-шник).
Ну и собственно вопрос. А есть ли возможность "обманывать" Марс более честным способом?
Oleg_K
Newbie
Newbie
 
Posts: 104
Joined: Tue Apr 27, 2010 2:41 am

Re: Формат базы?

Unread postby Marsianin » Wed May 08, 2013 1:22 pm

Вообще в ini-файле никаких настроек относящихся к базе данных нет. Только путь к файлу базы, который надо открыть при запуске программы.
Все остальные параметры базы (сжатие, пароль, шифрация) хранятся в самом файле базы, т.к. они индивидуальны для каждой из них.
При первом открытии идёт быстрый просмотр базы данных для загрузки элементов дерева, но сами данные от каждого раздела не считываются.
Is there any life on Mars ?
User avatar
Marsianin
Administrator
Administrator
 
Posts: 1563
Joined: Tue Jan 25, 2005 3:02 am
Location: Planet Mars

Re: Формат базы?

Unread postby Oleg_K » Thu May 09, 2013 5:26 am

Marsianin wrote:...При первом открытии идёт быстрый просмотр базы данных для загрузки элементов дерева...
Я понял это так, что Марс где-то хранит элементы дерева последней БД между сессиями чтобы не читать их всякий раз из файла? У меня была такая мысль, но подробно я это не исследовал, а в очевидных местах ничего такого на глаза не попалось. Если же состояние дерева между сессиями не хранится, то тогда мой "метод" с подстановкой ini-шника вообще не должен был бы работать. Либо быстрый просмотр не такой уж и быстрый. Ну или дополнительно производятся еще какие-то действия типа реиндексации.
Для сравнения, на первое открытие БД (~200Mb/1638 разделов/50 прикреплений) тратится 45 секунд, а повторное открытие производится почти мгновенно (пара секунд).
Oleg_K
Newbie
Newbie
 
Posts: 104
Joined: Tue Apr 27, 2010 2:41 am

Re: Формат базы?

Unread postby Marsianin » Fri May 10, 2013 1:49 am

Oleg_K wrote:Я понял это так, что Марс где-то хранит элементы дерева последней БД между сессиями чтобы не читать их всякий раз из файла?

Нет, это не так.

Oleg_K wrote:Если же состояние дерева между сессиями не хранится, то тогда мой "метод" с подстановкой ini-шника вообще не должен был бы работать.

Он и не работает, это просто кэш диска. Вообще не представляю, что за метод такой и как ковыряя ini можно ускорить загрузку базы :retard:
Is there any life on Mars ?
User avatar
Marsianin
Administrator
Administrator
 
Posts: 1563
Joined: Tue Jan 25, 2005 3:02 am
Location: Planet Mars

Re: Формат базы?

Unread postby Oleg_K » Fri May 10, 2013 6:02 am

Marsianin wrote:Он и не работает, это просто кэш диска. Вообще не представляю, что за метод такой и как ковыряя ini можно ускорить загрузку базы :retard:
1) Перечитал свой пост и понял, что путанно объяснил суть процесса. Никакого "ковыряния ini" и не производится, просто идет борьба за строку 52 (LastDatabase=трам-тара-дам.mnb). И вместо того, чтобы находясь в открытой программе делать закрытие текущего ФАЙЛА БД/открытие нового (именно тут появляются тормоза), производится закрытие ПРОГРАММЫ и перезапуск ее с новым файлом. Хронометраж в последнем абзаце показывает разницу (45 сек при открытии файла внутри программы, против 2 сек при открытии файла вместе с запуском программы).
2) Зато я понял свою ошибку. Вместо того чтобы подсовывать нужный файл через ini, достаточно запускать Марс с параметром "трам-тара-дам.mnb". Почему сразу об этом не подумал? Я и сам себе удивляюсь :retard:
Теперь поправил ярлык и жизнь наладилась.
3) Доп.инфо. В случае работы с запароленными базами не корректно обрабатывается первая попытка открытия не дефолтного файла (т.е. в паре с кнопкой "Открыть" на форме ввода пароля и последующим выбором файла в проводнике) - всегда "съедается" одна попытка ввода пароля. Даже если коректный пароль к выбираемому файлу был введен заранее.
Это и стало одной из причин, почему возникло желание менять дефолтный файл еще до запуска Марса.
Oleg_K
Newbie
Newbie
 
Posts: 104
Joined: Tue Apr 27, 2010 2:41 am


Return to Mars Notebook

Who is online

Users browsing this forum: No registered users and 3 guests

cron