![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.04.2014
Сообщений: 16
|
![]()
Проблема переход с Парадокс на Access.
Катастрофическое замедление работы. Ситуация. Таблица парадокс имеет 300 000 записей. Создал ее копию в аксесе. Задача: в одно поле ввести последовательно число от 1 до упора. вот такой код обработки двух кнопок. Код:
1500 тиков. Вторая кнопка Access через ADOTable. После 20 минут ожидания вырубил, посмотрел - изменено чуть более 100 000 записей. Вопрос: это так access работает вообще или есть что то, чего я не знаю. Комп мощный. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 05.02.2009
Сообщений: 324
|
![]()
через SQL попробуй
Тяжело быть бестолковым.....
![]() |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 17.04.2014
Сообщений: 16
|
![]()
Как через SQL увеличивать значение вводимое в поле?
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Для начала посмотреть какие индексы у таблицы в базе есть. И не понятен смысл нумерации
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 17.04.2014
Сообщений: 16
|
![]()
Из индексов только ключевое поле.
Задача нумерации - именно проверить быстродействие, т.к. задачи решаемые влет на старой базе, на новой требуют многих минут. Простой тестовый пример привел меня в шок. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 05.02.2009
Сообщений: 324
|
![]()
если у тебя уже есть таблица с определённым колилчеством записей можно попробовать сделать следующее:
Код:
ну а если таблица не заполнена: Код:
Тяжело быть бестолковым.....
![]() |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 17.04.2014
Сообщений: 16
|
![]()
Dark_Spirit, спасибо, но не то.
Нет в таблице поля для where, все будет писаться в одну строку. Нужно тупо проставить нумератор. Конечная задача: периодически запоминать местоположение записи в списке, которое будет меняться в соответствии с изменением определенного поля, по местоположению будет строится график. Во время создания одного отчета, местоположение записи может меняться до 20 раз. На парадоксе все это проходит за полторы минуты. В аксесе зависло на часы. |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 17.04.2014
Сообщений: 16
|
![]()
Я покопался и выяснил, что ADO при каждой записи изменении переходе и т.д. генерирует туеву хучу различных событий и вызывает несколько методов на каждое событие, поэтому такие тормоза.
Может есть какой-то способ обойти все эти генерации???? |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Уникальный ключ надеюсь есть в таблице.
1. Запросом создать временную таблицу с этим ключем + автоинкремент от 1. 2. Запросом обновить поле исходной таблицы используя автонкремент из временной 3. Удалить временную По всякому быстрей будет, но в первую очередь отказался бы вообще от перенумерации записей. Нумерацию можно и на весу делать SELECT-ом или на клиенте
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 17.04.2014
Сообщений: 16
|
![]() |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Скорость работы по сети | Dux | Работа с сетью в Delphi | 5 | 09.10.2013 22:39 |
Скорость работы программ в DOS | assume | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 12 | 19.02.2013 13:27 |
Скорость работы с базой данных | Linel | PHP | 3 | 17.06.2011 21:50 |
Скорость работы различных СУБД | _SERGEYX_ | БД в Delphi | 3 | 10.10.2010 11:38 |
Скорость работы программы | Farrel | Общие вопросы C/C++ | 0 | 10.09.2010 23:25 |