Утечка памяти QSqlQuery.next() |
Здравствуйте, гость ( Вход | Регистрация )
Утечка памяти QSqlQuery.next() |
guest456 |
2.8.2017, 12:45
Сообщение
#1
|
Новичок Группа: Неактивирован Сообщений: 3 Регистрация: 2.8.2017 Пользователь №: 4598 Спасибо сказали: 0 раз(а) Репутация: 0 |
Добрый день уважаемые форумчане. Есть простейший код выборки из базы данных sqlite. Проблема в том, что в базе есть очень большое число различных строк. При работе с небольшими базами, проблем нет. А при большой базе, программа вылетает с ошибкой out of memory.
При работе программы, количество потребляемой памяти доходит до 800MB и программа вылетает. Как правильно делать выборку с больших по размеру баз. Спасибо. |
|
|
lanz |
2.8.2017, 12:52
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Например, но вообще странно, вы уверены что имено query жреть память, а не код внутри цикла? |
|
|
guest456 |
2.8.2017, 13:11
Сообщение
#3
|
Новичок Группа: Неактивирован Сообщений: 3 Регистрация: 2.8.2017 Пользователь №: 4598 Спасибо сказали: 0 раз(а) Репутация: 0 |
Например, но вообще странно, вы уверены что имено query жреть память, а не код внутри цикла? К сожалению, это так. Т.е вот этот пустой цикл:
Вызывает эту ошибку Уже и пробовал ставить qt creator версии 4.8 - тоже самое. Не могу понять как же сделать выборку по всей базе ( |
|
|
lanz |
2.8.2017, 13:18
Сообщение
#4
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Я посмотрел исходники, там драйвер кеширует результаты, поэтому да, вы правы, он все съел
Попробуйте LIMIT/OFFSET как я писал выше. |
|
|
guest456 |
2.8.2017, 13:38
Сообщение
#5
|
Новичок Группа: Неактивирован Сообщений: 3 Регистрация: 2.8.2017 Пользователь №: 4598 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Текстовая версия | Сейчас: 22.11.2024, 5:05 |