Я не уверен, что вы можете получить производительность от использования различных типов ADO.Я думаю, что это больше связано с размером и структурой базы данных.
У меня были подобные проблемы с вашим приложением.Хотя я создал много-много приложений для моих клиентов, не многие из них имели огромную аудиторию.Недавно я построил одну, и мне нужно было выучить одну или две вещи, чтобы она была эффективной.
Вот несколько вещей, на которые стоит обратить внимание, если вы еще этого не сделали.Некоторые из них могут быть немного базовыми для вас, но полезными и для других:
1) INDEX или FULLTEXT INDEX - Чтобы ускорить мою базу данных, я добавил INDEX в столбцы, которые я запрашиваю, что ускоряетмои запросы огромное количество (но немного замедляет вставку).Я также добавил FULLTEXT INDEX в столбцы, где я искал несколько слов, чтобы я мог потерять ужасно медленные предложения LIKE / IN.
2) Нормализация или денормировка - Один из моихзапросы искали 16 таблиц, используя соединения и подзапросы, и оказались медленными, громоздкими и запутанными.Я исправил это, создав «ненормализованную» таблицу, которая содержала все полезные данные из этих 16 таблиц, которые мне были нужны для поиска.Таким образом, с помощью FULLTEXT INDEX и ненормализованной и проиндексированной таблицы мой запрос длиной всего несколько строк выполняется на удивление быстро.Перед использованием ненормализованных таблиц вы должны сначала понять нормализованные таблицы.Для меня это была правильная ситуация, когда вы можете нарушать правила.
3) Выбор поля SQL - Выберите только те поля, которые требуются в вашем запросе SQL.Это простая ошибка, но все же можно сделать.Например, не делайте (выберите * из myTable), если вам не нужны все возвращаемые столбцы, сделайте что-то более точное, например (выберите id, fname из myTable), если это единственные столбцы, которые вам нужны.
4) Очистка БД - я не уверен насчет Access, но в MYSQL вы можете очистить вашу БД с помощью запроса OPTIMIZE, который исправляет любые пробелы в вашей БД, иногда создаваемые путем вставки и удаления большого количестваданные часто.Вы также можете использовать EXPLAIN, который подробно объясняет ваш запрос, такой как таймер, используемые индексы, используемые строки и возвращаемые записи.
Существует много способов повысить производительность БД.Если вы Google "оптимизация базы данных" или "настройка базы данных", вы должны найти некоторые хорошие чтения ..