![]() |
|
Модераторы: Akina |
![]()
|
|
| slang |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 455 Регистрация: 7.3.2004 Репутация: нет Всего: 0 |
Есть несколько таблиц с одинаковой структурой.
В процессе обработки (VBA) каждой записи таблицы скорость обработки очень зависит от объема данных в таблице. Так например 100 записей из таблицы с 20000 записей обрабатываются около минуты. Если в таблице около 2 млн. записей то таже сотня обрабатывается около 15 минут. Какие варианты получения записи существуют (наиболее оптимальные)? Я использую:
-------------------- Запчасти на иномарки www.avtograd55.ru. Если есть время - зайдите и посоветуйте что исправить и что доработать. |
|||
|
||||
| Dremlin |
|
|||
|
Quo vadis? ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 21.9.2006 Где: Киев Репутация: нет Всего: 4 |
Если нужно обработать всего 100 записей, то не стоит загружать всю таблицу. Отсекаешь запросом необходимые данные и только с ними работаешь.
--------------------
Каждый дурак знает, что до звезд не достать, а умные, не обращая внимания на дураков, пытаются... |
|||
|
||||
| slang |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 455 Регистрация: 7.3.2004 Репутация: нет Всего: 0 |
Dremlin, нет, нужно обрабатывать всю таблицу. 100 записей - для примера скорости (одна запись слишком быстро, а сколько времени будут обрабатываться все записи из большой таблицы я вообще не знаю)
-------------------- Запчасти на иномарки www.avtograd55.ru. Если есть время - зайдите и посоветуйте что исправить и что доработать. |
|||
|
||||
| dionisiu |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 13.5.2006 Где: Крым Репутация: 1 Всего: 2 |
у меня была схожая проблема - две таблицы от 150 000 до 4 000 000 записей, причём в одной - три поля типа "код репликации", а в другой - четыре. Обработка сводилась к тому, что нужно было добавить в одну таблицу одну запись, а в другую - несколько записей, дублируя свежеполученный ключ первой таблицы необходимое число раз (зависило от количества записей временной таблицы).
Рекордсетом эти записи не обрабатывались по причине нехватки памяти (отследил программой контроля памяти) - пришлось сделать всю обработку на запросах. Насчёт скорости - не знаю, однако это работает, а рекордсеты убивали винду. |
|||
|
||||
| slang |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 455 Регистрация: 7.3.2004 Репутация: нет Всего: 0 |
Нашел проблему в коде.
В форме есть поле, отображающее прогресс выполнения
она то все и тормозила. теперь буду думать, как лучше показать прогресс, хотя это и не обязательно. -------------------- Запчасти на иномарки www.avtograd55.ru. Если есть время - зайдите и посоветуйте что исправить и что доработать. |
|||
|
||||
| dionisiu |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 13.5.2006 Где: Крым Репутация: 1 Всего: 2 |
а прогресБар на статус-строке не пробовал?
Инициация прогресБара на статус-строке:
приращение програсБара в теле цикла (перед NEXT, LOOP.....)
Деструктор прогресБара в конце процедуры
а ещё F1 |
||||||
|
|||||||
![]()
|
| Правила форума "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. |