Здравствуйте, гость ( Вход | Регистрация )
|
guest456 |
2.8.2017, 12:45
Сообщение
#1
|
|
Новичок Группа: Неактивирован Сообщений: 3 Регистрация: 2.8.2017 Пользователь №: 4598 Спасибо сказали: 0 раз(а) Репутация: 0
|
Добрый день уважаемые форумчане. Есть простейший код выборки из базы данных sqlite. Проблема в том, что в базе есть очень большое число различных строк. При работе с небольшими базами, проблем нет. А при большой базе, программа вылетает с ошибкой out of memory.
При работе программы, количество потребляемой памяти доходит до 800MB и программа вылетает. Как правильно делать выборку с больших по размеру баз. Спасибо. |
|
|
|
![]() |
|
lanz |
2.8.2017, 13:18
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8
|
Я посмотрел исходники, там драйвер кеширует результаты, поэтому да, вы правы, он все съел
Попробуйте LIMIT/OFFSET как я писал выше. |
|
|
|
guest456 Утечка памяти QSqlQuery.next() 2.8.2017, 12:45
lanz SELECT * FROM ... LIMIT x OFFSET y ORDER BY ...
На... 2.8.2017, 12:52
guest456 Цитата(lanz @ 2.8.2017, 1:52) SELECT * FR... 2.8.2017, 13:11
guest456 Цитата(lanz @ 2.8.2017, 2:18) Я посмотрел... 2.8.2017, 13:38![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 22.12.2025, 21:13 |