Russian Qt Forum
Ноябрь 23, 2024, 04:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Увеличение времени ожидания при обращении к mdb файлу через QSqlConnection  (Прочитано 3597 раз)
Crazy Sage
Гость
« : Март 04, 2015, 13:34 »

Добрый день, возник такой вопрос:
Есть программа, подключающаяся к базе данных ms access (mdb файл) через QSqlDatabase/QSqlQuery
Есть запрос, который проверяет по имени файла, записан ли этот файл в базу, банальным SELECT id FROM table WHERE path=
Проблема в том, что с определенного числа записей в таблице этот запрос выполняется очень долго, если его делать через access, то тот подвисает на некоторое время, но всё же выдаёт результат, а вот через QSqlQuery иногда происходит облом с ошибкой "не хватает системных ресурсов".
Можно ли как-то увеличить время ожидания для QSqlQuery или ещё как-то решить подобную проблему?
Возможности сменить формат базы нет.
Записан
Bepec
Гость
« Ответ #1 : Март 04, 2015, 13:51 »

Писать в таблицу не путь, а хеш пути. Скорость должна возрасти как бы.
Ну, это мнение любителя )))
Записан
Johnik
Крякер
****
Offline Offline

Сообщений: 339


Просмотр профиля
« Ответ #2 : Март 04, 2015, 13:59 »

попробуйте:
Код
C++ (Qt)
void QSqlQuery::setForwardOnly(bool forward)
с параметром true
Записан
Crazy Sage
Гость
« Ответ #3 : Март 04, 2015, 14:06 »

попробуйте:
Код
C++ (Qt)
void QSqlQuery::setForwardOnly(bool forward)
с параметром true

Спасибо, попробую
Записан
Johnik
Крякер
****
Offline Offline

Сообщений: 339


Просмотр профиля
« Ответ #4 : Март 04, 2015, 14:19 »

и еще индекс на столбец path повесить, правда не знаю как с этим делом в access
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.084 секунд. Запросов: 22.