Тормоза с TADODataSet
Написал по просьбе знакомых для кадрового агенства программу - для ведения базы данных по клиентам. В главной форме для отображения всех записей и работы с ними использовал TADODataSet. Тип БД - Access. TADODataSet использует запрос,который возвращает набор данных из нескольких таблиц. Проблема такая - уже при количестве записей больше 1000 прога жутко тормозит при загрузке, даже на среднем компе (Дюрон 1200+, 512 Мб оперативки). После загрузки - нормально, но если после фильтрации записей снять фильтр, то бишь опять вернуться к полному набору данных - снова тормоза.
Можно как-нибудь оптимизировать работу TADODataSet?
Неужели необходимо загружать ВСЕ записи, нельзя ли грузить часть, например, по месяцам?
Кроме того, везде советуют делать выборку только тех полей (столбцов) из таблицы, которые действительно необходимы, а не всех.
Ну, иногда нужно как раз все записи показывать. И неудобно переделывать программу - у меня на том ADODataSet всё завязано было. И будет ли ещё ADOQuery быстрее - вот вопрос.
Цитата:
Originally posted by crujer
Ну, иногда нужно как раз все записи показывать. И неудобно переделывать программу - у меня на том ADODataSet всё завязано было. И будет ли ещё ADOQuery быстрее - вот вопрос.
Ну, иногда нужно как раз все записи показывать. И неудобно переделывать программу - у меня на том ADODataSet всё завязано было. И будет ли ещё ADOQuery быстрее - вот вопрос.
Кстати, так для справки. TADOQuery - наследник TADODataSet. Можно прикастить к нужному тебе типу.
P.S. Интересно, а почему именно TADODataSet?
Да вы что в самом деле? TADODataSet не будет тормозить даже на 100 000 записей, тут все дело в базе, я просто уверен что ты ее не правильно построил, или не создал индексированые поля, что являеться очень важным, или уровень формализации не достиг 3 НФ. А вообще все такие дела делаюсья в потоках. Если нужно объяснить пиши в приват