Быстрое Открытие Таблиц Access

Тема в разделе "Delphi - Базы данных", создана пользователем V88, 11 окт 2011.

  1. V88

    V88 Well-Known Member

    Регистрация:
    22 окт 2008
    Сообщения:
    51
    Симпатии:
    0
    Здравствуйте!
    Есть БД Access, связанная при помощи ADO через Microsoft.Jet.OLEDB.4.0, в этой базе есть таблица "Reg" с 10 000 записями. Вот при выполнении ADOTable.Open таблица Reg открывается долго (где-то сек 5). Как сделать открытие таблицы быстрее?
    P.S. При установке для ADOConnection и ADOTable.CursorLocation:=clUseServer не помогло.

    P.P.S. Если это не возможно, то как можно тогда сделать обновление этой же таблицы при, напр., добавлении записи (запись добавляеся при помощи SQL), т.е. чтобы не делать ADOTable.Close и Open.

    Заранее спасибо.
     
  2. nayke

    nayke Well-Known Member

    Регистрация:
    4 авг 2010
    Сообщения:
    310
    Симпатии:
    0
    Можно попробовать ADOQuery и фильтром или группировкой сократить объем одновременно отбражаемой информации.

    Добавление информации можно вынести на отдельную форму это сократит время обновления ADOTable.
     
  3. V88

    V88 Well-Known Member

    Регистрация:
    22 окт 2008
    Сообщения:
    51
    Симпатии:
    0
    У меня при добавлении записи есть отдельная форма, на которой заполняешь поля и жмешь ОК. Вот именно при нажатии ОК я делаю Close/Open, что и затормаживает работу. Если не делать Close/Open, то в DBGride не видно изменений.
     
  4. rdama

    rdama Гость

    А какова необходимость отображать все 10 000 записей постоянно?
    Может стоит пересмотреть этот критерий?
    Например при открытии таблицы отображать записи за последний день, неделю, месяц и т.д.
    Тогда грузиться все это будет меньше по времени.
    Далее с ADOTable перейдите на ADOQuery или ADODataSet.
    В реальности под ADOTable выполняется запрос вида
    Код (Text):
    SELECT * FROM table_name
     
Загрузка...

Поделиться этой страницей