| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > скорость Delphi и Access |
| Автор: elnar777 14.11.2006, 10:04 |
| Здравствуйте.У меня следующая проблема.Есть складская программа на Access.Когда число записей перевалило за 70000 то добавление данных в программу через обычный грид происходит очень медленно.Элементарно при добавление новой записи уходит 2-3 секунды.Как можно решить эту проблему? |
| Автор: Akella 14.11.2006, 10:37 |
| С помощью SQL и окна добавления. К сожалению Access не поддерживает хранимые процедуры. |
| Автор: elnar777 14.11.2006, 12:07 |
| Может проблема в dbgrideh? |
| Автор: TaNK 14.11.2006, 12:32 | ||
а может добавление в бд идет через табле а не через query? |
| Автор: elnar777 14.11.2006, 12:56 |
| Да.Добавление идет через table. Какая разница добавлять запись через table или query? |
| Автор: Vas 14.11.2006, 13:10 |
| А индексы на таблице хоть какие-нибудь есть? Да почти никакой, Table сам генерирует запрос на вставку данных, а в Query ручками программист пишет. Подумай у кого код будет оптимальней? |
| Автор: elnar777 14.11.2006, 13:13 |
| Какая разница между adotable1.insert и adoquery1.insert.Грид же добаляет данные сам при переходе на новую запись. |
| Автор: TaNK 14.11.2006, 13:35 | ||
а ты проверь - может поможет |
| Автор: Savek 14.11.2006, 15:02 |
| Еще быстрее добавление будет через ADOCommand |
| Автор: TaNK 14.11.2006, 15:31 | ||
согласен-эта тема поднималась не раз на этом форуме! |
| Автор: Akella 14.11.2006, 15:38 |
| Автор: SergeBS 20.11.2006, 17:06 |
| elnar777, Скорее всего - классические грабли начинающих в ADO. Смотри параметр MarshallOptions = moMarshalAll (default). И вся таблица ездит туда-сюда. При изменении 1 поля, например. |