• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

  • Автор темы Автор темы V88
  • Дата начала Дата начала
V

V88

Здравствуйте!
Есть БД 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.

Заранее спасибо.
 
Здравствуйте!
Есть БД 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.

Заранее спасибо.
Можно попробовать ADOQuery и фильтром или группировкой сократить объем одновременно отбражаемой информации.

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

У меня при добавлении записи есть отдельная форма, на которой заполняешь поля и жмешь ОК. Вот именно при нажатии ОК я делаю Close/Open, что и затормаживает работу. Если не делать Close/Open, то в DBGride не видно изменений.
 
А какова необходимость отображать все 10 000 записей постоянно?
Может стоит пересмотреть этот критерий?
Например при открытии таблицы отображать записи за последний день, неделю, месяц и т.д.
Тогда грузиться все это будет меньше по времени.
Далее с ADOTable перейдите на ADOQuery или ADODataSet.
В реальности под ADOTable выполняется запрос вида
Код:
SELECT * FROM table_name
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab