select t.unid, t.property, t.value from(
  select rownum as unid,SUM_MONTH,'GRID_ID' as property,GRID_ID as value from residents_portrait_character  union all
  select rownum as unid,SUM_MONTH,'STAY_TYPE' as property,STAY_TYPE as value from residents_portrait_character  union all 
  select rownum as unid,SUM_MONTH,'USER_CNT' as property,USER_CNT as value from residents_portrait_character  union all         
  select rownum as unid,SUM_MONTH,'AGE_LEVEL' as property,AGE_LEVEL as value from residents_portrait_character  union all 
  select rownum as unid,SUM_MONTH,'GENDER'  as property,GENDER as value from residents_portrait_character  union all
  select rownum as unid,SUM_MONTH,'FEE_LEVEL' as property,FEE_LEVEL as value from residents_portrait_character  union all 
  select rownum as unid,SUM_MONTH,'COMMUNITY_ID' as property,COMMUNITY_ID  as value from residents_portrait_character  union all 
  select rownum as unid,SUM_MONTH,'STREET_ID' as property,STREET_ID as value from residents_portrait_character  union all 
  select rownum as unid,SUM_MONTH,'COUNTY_ID' as property,COUNTY_ID as value from residents_portrait_character 
  ) t where t.SUM_MONTH = 201812
    order by UNID,case property
      when 'GRID_ID' then 1
      when 'STAY_TYPE' then 2
      when 'USER_CNT' then 3
      when 'AGE_LEVEL' then 4
      when 'GENDER' then 5
      when 'FEE_LEVEL' then 6
      when 'COMMUNITY_ID' then 7
      when 'STREET_ID' then 8
      when 'COUNTY_ID' then 9
    END;
对SUM_MONTH建了普通索引还是慢那,540万条数据,查了半小时