powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как sqlite использует память
6 сообщений из 6, страница 1 из 1
Как sqlite использует память
    #38061083
meneo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Подскажите, пжл, это нормально что sqlite Использует память следующим образом:
SQLite3_Prepare_v2 – занимаемая приложением память практически не изменилась
Binding values – занимаемая приложением память практически не изменилась
Loop with sq3lite_step – занимаемая приложением память выросла на 16Мб
sq3lite_finalize – занимаемая приложением память не уменьшилась

Код: sql
1.
SQL: SELECT * FROM tb WHERE datetime>”…..” and datetime <”…..”



результат запроса - примерно 71000 записей

Синтакс созданной таблицы:

Код: sql
1.
2.
CREATE TABLE tb
(DataSource STRING, datetime TEXT, Open REAL, High REAL, Low REAL, Close REAL, Volume Integer, FileName STRING, QUIK_DT TEXT)



Спасибо!
...
Рейтинг: 0 / 0
Как sqlite использует память
    #38061167
metos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Через какую утилиту смотрите "занимаемую память" ? И на какой конкретно параметр?
...
Рейтинг: 0 / 0
Как sqlite использует память
    #38061288
meneo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
metos,

1. Диспетчер задач (встроенная в винду)
2. Монитор ресурсов (встроенная в винду): Завершено, Рабочий, Частный. Все выросли на 16Мб
3.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
type TProcessMemoryCountersEx = packed record
  cb: DWORD;
  PageFaultCount: DWORD;
  PeakWorkingSetSize: DWORD;
  WorkingSetSize: DWORD;
  QuotaPeakPagedPoolUsage: DWORD;
  QuotaPagedPoolUsage: DWORD;
  QuotaPeakNonPagedPoolUsage: DWORD;
  QuotaNonPagedPoolUsage: DWORD;
  PagefileUsage: DWORD;
  PeakPagefileUsage: DWORD;
  PrivateUsage: DWORD;
 end;

function CurrentProcessMemory: Cardinal;
var
  MemCounters: TProcessMemoryCounters;
begin
  MemCounters.cb := SizeOf(MemCounters);
  if GetProcessMemoryInfo(GetCurrentProcess,@MemCounters,SizeOf(MemCounters)) then
    Result := MemCounters.WorkingSetSize
  else
    RaiseLastOSError;
end;
...
Рейтинг: 0 / 0
Как sqlite использует память
    #38061290
meneo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PS: После sqlite3_close память высвобождается
...
Рейтинг: 0 / 0
Как sqlite использует память
    #38061493
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну в общем все правильно.
Кеш же надо где-то хранить, правда? Вот эти 16 мег и запрашиваются на первый реальный запрос.
...
Рейтинг: 0 / 0
Как sqlite использует память
    #38061610
meneo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl,

да в ходе различных экспериментов пришел пока к выводу, что больше 70Мб не съедается.
Последний эксперимент был такой: ко всем таблицам выполнялся запрос (SELECT * FROM tb WHERE ....)
Начиная с какого-то момента прирост занимаемой памяти останавливался.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как sqlite использует память
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]