В приложении Android и SQLite
INNER JOIN
в QUERY
создает проблему с памятью следующим образом:
Окно заполнено: запрошенное выделение 372 байта, свободного места 106 байтов, размер окна 2097152 байта
Запрос выглядит следующим образом:
SELECT * FROM TABLEA A
INNER JOIN TABLEB B
ON A.ID1 = B.ID1 AND A.ID2 = B.ID2
WHERE B.DATA3 = 'Y'
Таблица A состоит из следующих 4 столбцов:
ID1,ID2,DATA1,DATA2:
ID1 ID2 DATA1 DATA2
A E D1 D4
B F D2 D5
C G D3 D6
D H D4 D7
Таблица B состоит из следующих 3 столбцов:
ID1,ID2,DATA3:
ID1 ID2 DATA3
A E Y
B F N
C G Y
D H N
Результат QUERY выглядит следующим образом:
ID1 ID2 DATA1 DATA2
A E D1 D4
C G D3 D6
Дело в том, что когда я увеличиваю количество записей до нескольких тысяч, я посмотрите на проблему, и она отлично работает для меньшего количества записей
Еще один момент - проверить проблему с памятью. Я использовал другой QUERY
для извлечения данных только из таблицы A без INNER JOIN
с таблицей B и номером найденной записи. совпадает с найденным номером записи Queri выше с INNER JOIN, но нет проблем с памятью
Так что я пришел к выводу, что INNER JOIN создает проблему с памятью
Другими словами, проблема не в количестве записей, так как результат QUERY
с INNER JOIN слишком большой, потому что я получаю столько записей с другими QUERY
' s без проблем с памятью
Почему?