|
|
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
Проблема на Access 2000. Та база которая состоит только из таблиц - может неожиданно быстро начать расти и вырасти до предельного размера, после чего падает. Пополняется она через клиентские части путем ручного ввода операторов. Причем количество записей в реальных рабочих таблицах не увеличивается. Значит, я делаю вывод - причина в системных либо в накоплении какого-то служебного мусора. Автозамена имен отключена. Сжатие восстановление не всегда возможно, так как кто-то постоянно работает в базе. Хотя понимаю, что мусор может быть в основном из-за "удаленных" записей, но их не так много в массовом порядке. В служебные таблицы что-то из клиентских частей может писаться неявно (т.е. не в коде напрямую) Может у кого какие-то мысли есть на этот счет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2004, 19:14 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
Faq и поиск по форуму пробежал. Грешу на индексы. Но может еще что-нибудь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2004, 19:42 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
авторПричем количество записей в реальных рабочих таблицах не увеличивается. Но сами-то записи меняются часто? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2004, 21:07 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
Встречал тот же трабл в экселе. В чем дело не понял (на вирус не похоже). Думаю глюк микрософта. Рекомендую создать новую БД и перетащить туда все объекты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2004, 21:53 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
vam911Рекомендую создать новую БД и перетащить туда все объекты Это я знаю, но придеться это делать каждую ночь и(или) на автомате, по мере приближения к недопустимому размеру. Это все равно это борьба с симптомами, а как бы побороть саму причину? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 09:58 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
Похожая ботва, все не доходили руки спросить, ибо не напрягает, но всеже интересно: Интерфесная часть минимальным размером где-то 4 мега, на одном из 5 компов растет значительно быстрее(на всех скажем 5, а на этом компе 20). На всех компах работа в базе одна и таже, винды 98SE, вроде с одного дистрибутива, офисXP - везде одинаковый. Аналогичную ботву видел давно, на 97Access+95винда - база на одном из 2-ух компов за пару месяцев вырастала с 2 до 80Мб. После сжатия в обоих случаях все возвращалось к нормальным размерам. Предположения разные (винды,железо...), но нет времени протестить, может кто ещё что раскажет для статистики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 10:18 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
автора как бы побороть саму причину? но вы для этого вы недостаточно рассказали о принципах работы вашей базы. Если уж в ниx ничего не пишется, то может делать их только для чтения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 10:18 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
авторИнтерфесная часть минимальным размером где-то 4 мега, на одном из 5 компов растет значительно быстрее(на всех скажем 5, а на этом компе 20). Дык может на этом компе просто работают больше. Интерфейсная часть с линкованными таблицами при интенсивной работе действительно растет очень быстро. Я в некоторых случаях отказывался от использования прилинкованных таблиц. А у автора вопроса растет backend. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 10:25 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
К vam911 Встречал тот же трабл в экселе. В чем дело не понял (на вирус не похоже). В экселе есть такая штука как управление доступом к файлу. Если стоит галка разрешить совместный доступ, то запоминаются все исправления от разных пользователей и объем файла растет на глазах. Ничего другого пока не встречал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 10:32 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
2 Serge Gavrilov Интерфейсная часть с линкованными таблицами при интенсивной работе действительно растет очень быстро. Я в некоторых случаях отказывался от использования прилинкованных таблиц А можно чуть поподробнее? Почему именно линкованные таблицы мешают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 10:33 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
Когда растет интерфейсная часть, это понятно - компилирование/декомпилирование кода, временные таблицы, место для вспомогательных вычислений (запросов, объектных переменных, ...) А вот когда backend-база в которой только например две таблицы в одной записей 15-20 (стандартные типы), в другой 1000-2000 записей. Количество записей не растет катастрофически, т.е. операторы заполняют ручками по 1 строчке во вторую таблицу. Выбирают записи из второй таблице по критериям. Или редактируют какую-нибудь запись. Или удаляют тоже по одной. Полей MEMO нет. Только обычные поля - даты, текстовые строки максимальной длинны 255 символов, числовые целые. Индексы по полям дата, по полю тип. Так вот эта база (где только две таблицы) может неожиданно начать расти и за несколько часов вырасти до 1Mb, хотя количество записей увеличивается во второй таблице на 10-20 записей. Я подозреваю две причины: 1) что пухнет база из-за индексов 2) из-за того, что какая-то транзакция у пользователя при вводе/редактировании/удалении какой-то записи налетает на блокировку и держит таблицу. Из-за чего очень быстро накапливается мусор. Причем пробежался по коду и посмотрел, что при блокировке выкидывать пользователя хотя бы по тайм-ауту. Все транзакции корректно завершаю. Но, когда база выросла, с ней даже repair невозможно сделать, она пишет что база в использовании у другого пользователя, хотя я точно знаю, что с ней никто не работает в данный момент. Кстати, по файлу Ldb - этого коннекшена не видно. Значит кто-то некорректно вышел из базы не дождавшись завершения транзакции? Я может где-то не прав? Или не туда рою? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 10:46 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
авторА можно чуть поподробнее? Почему именно линкованные таблицы мешают? Они не мешают, просто размер интерфейсной базы растет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 10:46 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
автор1) что пухнет база из-за индексов Индесксы занимают определенную долю общего размера записи, поэтому должно расти общее число неиспользуемых записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 10:52 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
2 Serge Gavrilov Они не мешают, просто размер интерфейсной базы растет. Оно понятно, что растет. Есть подозрение, что растет по разному в зависимости от... ээээ... собственно, в этом и проблема, что не знаю, в зависимости от чего Столкнулся однажды со случаем, когда при многократном выполнении неких запросов интерфейсная часть вырастала в десятки раз (с 7мб до 250мб). Причем вылечилось это именно отказом от линкованных таблиц (вместо них открывал DAO.Database, создавал там временный DAO.QueryDef и кучу раз его Execute) В лабораторных/тепличных условиях воспроизвести это не получилось. Думал, что ты обладаешь каким-то сокровенным знанием :) Сорь за оффтоп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 11:00 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
две таблицы в одной записей 15-20 (стандартные типы), в другой 1000-2000 записей. может неожиданно быстро начать расти и вырасти до предельного размера , после чего падает Пара тысяч записей за день распухает до 2Гб??? Что-то не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 11:02 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
Вот и мне кажется что что-то не так! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 11:10 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
авторвместо них открывал DAO.Database, создавал там временный DAO.QueryDef и кучу раз его Execute Можно и просто запросы создавать (или инструкции SQL для DataSource, RowSource) с прямы обращением к базе с таблицами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 11:10 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
наблюдаю вполне шустро пухнущую базку без линкованных таблиц (на запросах с 'IN ...'). По крайней мере вдвое распухает шустро (с момента выкладывания). Иногда начинает очень шустро расти и сама базка (с данными). Можно наверное убрать все временные QueryDef-ы (и переопределяемые, если таковые есть) в другой DAO.Database (безинтерфейсный) на линковках (или как иначе подцепленных - дело вкуса). Интерфейсную бд сделать только для чтения (ругательство как-нить пригасить можно?). И посмотреть как будет пухнуть БД с темповыми QDF при отсутствии в ней какой-либо интерфейщины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 11:30 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
Кажется я нащупал источник проблемы - иногда юзеры пишут вместо даты только время (соответственно получается плохая нулевая дата), а Access строит индекс по данному полю. Сейчас наложу ограничения, может поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 16:55 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
Не понял Типа если пользователи напишут правильную дату - то аксес не будет индекс строить что-ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 16:59 |
|
||
|
Почему может очень быстро расти база?
|
|||
|---|---|---|---|
|
#18+
Индекс строиться по этому полю. Я так понимаю, при вставке/изменении/удалении перестраивается. Если дата правильная то это не так болезненно. Если плохая - только время (дата нулевая), то видимо ему плохо и он пухнет. Пока проверяю эту гипотезу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 17:03 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32564182&tid=1673799]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
155ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
90ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 549ms |

| 0 / 0 |
