![]() |
|
Модераторы: Akina |
![]()
|
|
| zdz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 12.4.2008 Репутация: нет Всего: нет |
Господа, здравствуйте, окажите , пожалуйста, посильную помощь!
Столкнулся с проблемкой при работе с Access 2007. Вводная: Таблица содержит поля 1 шт дл. целое 1 шт строка 20 симв. 20 шт строка по 2 симв. Т.е. суммарный размер строки должен быть примерно 1*4+1*20+20*2=64 байта Содержит 1048576 строк, по мере заполнения 2-х символьных полей возникает ошибка переполнения файла (access не умеет работать с файлами , которые больше 2-х гигов), хотя д.б. порядка 64 * 1048576~70Mb т.е. как я понимаю под хранение строки в 2 символа выделяется большее, чем нужно, место. В Access 2003 данная проблемма решилась изменением типа базы данных по умолчанию с "Access 97\2000" на "Access 2003"(общий файл стал весить с полностью заполненной этой таблицей +2 мелкие + 3 формы) порядка 200Mb |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
1 Гбайт записей - это уже явно не для Аксесса масштабы...
Вы забыли указатели на запись, указатели на поле, описатель поля и индексы. Плюс потери кластеризации. Так что минимум (1*4+1*20+20*2) + (1+1+20)*4 + 4 + 8 байт на запись - отсюда порядка 150 Мбайт. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| zdz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 12.4.2008 Репутация: нет Всего: нет |
Akina, полностью с Вами согласен, про указатели и описатели поля и индекса я забыл . Ваша цифра у меня экспериментально в 2003 Access-e и вышла - где-то 175 М получилось(но там не только эта табличка была).
Но главный вопрос как добиться этого для 2007 access-а. Помогите, плиз, если можете, очень нужно - горю... |
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Дело в том, что практика показала, что Access не расчитан на размер баз данных от 100Мб. Он становится не уклюжим и не поворотливым. Очень рекомендуется либо разбивать БД на несколько файлов или использовать нормальный сервер БД.
Это сообщение отредактировал(а) bopoha - 14.4.2008, 16:06 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
100 метров - цифра как минимум спорная. У меня не одна и не две БД размером от 200 метров до гига вполне прилично ворочаются. Но это на Аксессе-2003... А если в Аксессе 2007 использовать формат БД от Аксесса 2003 - те же грабли? просто нет под рукой установленного 2007 офиса... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| zdz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 12.4.2008 Репутация: нет Всего: нет |
Akina, да те же самые :( Добавлено @ 17:15 bopoha, быстродействие устраивает конечного пользователя. База для кол-ва строк не большего (а чаще всего меньшего) чем 1048576. Просто я стал проверять на крайних значениях и выползла сия бяка. Сначала в 2003 , но легко залечилась. А потом и в 2007 и вот тут я уперся основательно. Это сообщение отредактировал(а) zdz - 14.4.2008, 18:33 |
|||
|
||||
![]()
|
| Правила форума "MS Access" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Access | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |