Указание индекса внутри запроса для столбца в соответствии с отображением значений в - PullRequest
0 голосов
/ 31 марта 2019

Я пытаюсь сэкономить память при загрузке запроса (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

Я могу использовать только запрос и меньше изменять таблицу так что это должно быть сделано во время запроса.

есть идеи?

...