Я пытаюсь сэкономить память при загрузке запроса (12 ГБ),
Основная причина для размера (между огромным количеством записей, является user_id
столбец, который содержит много ненужной информации.
хотя я хочу оставить нет. появления на пользователя в качестве причины группировки индекса. ЭТО ЗАПРОС:
select UI.USER_ID, UA.APP_BUNDLE_ID ,
CASE
WHEN (GENDER_M > 10 AND GENDER_F = 0) THEN 1
WHEN (GENDER_F > 10 AND GENDER_M = 0) THEN 0
END AS IsMale
FROM USER_INFO AS UI LEFT JOIN USER_APP AS UA
ON UA.USER_ID = UI.USER_ID
WHERE ISMALE IN (0,1) AND UI.OS = 'android'
order by UI.USER_ID ASC
результаты столбца USER_ID:
USER_ID
00000465-94A7-41B3-92EB-5C198D2BC306
00000465-94A7-41B3-92EB-5C198D2BC306
00000465-94A7-41B3-92EB-5C198D2BC306
00000CB7-98BD-4B8B-88AC-A2144E29DB7B
00000CB7-98BD-4B8B-88AC-A2144E29DB7B
00000CB7-98BD-4B8B-88AC-A2144E29DB7B
00000CB7-98BD-4B8B-88AC-A2144E29DB7B
00000CB7-98BD-4B8B-88AC-A2144E29DB7B
00001AAB-F460-49BA-B23D-50262F66D6C2
00001D9C-5F75-4D8B-A060-35B28D4AA867
00002AB6-96B9-426B-86F4-03E9F25DA0A2
поэтому при запросе я хотел бы иметь следующий индекс вместо верхнего упомянутого столбца.
USER_ID
1
1
1
2
2
2
2
2
3
4
5
Я могу использовать только запрос и меньше изменять таблицу
так что это должно быть сделано во время запроса.
есть идеи?