【应用场景】:参与分区的字段是时间day_id,类型是VARCHAR2(10),精确到小时,如:2010110923【方案一】:用listcreate table test (
day_id varchar2(10),
name varchar2(20)
) partition by list(day_id)
(
partition p2010010101 values ('2010010101') tablespace tbs
)
【方案二】:用rangecreate table test (
day_id varchar2(10),
name varchar2(20)
) partition by range(day_id)
(
partition p2010010101 values less than ('2010010102') tablespace tbs
)
【本人的想法】:我偏向于list,因为简单,就是“等于”不喜欢range,是因为less than()里的那个时间需要通过day_id转换为时间获取,并且再转回为varchar,繁琐但是我想听听更多大虾的意见
day_id varchar2(10),
name varchar2(20)
) partition by list(day_id)
(
partition p2010010101 values ('2010010101') tablespace tbs
)
【方案二】:用rangecreate table test (
day_id varchar2(10),
name varchar2(20)
) partition by range(day_id)
(
partition p2010010101 values less than ('2010010102') tablespace tbs
)
【本人的想法】:我偏向于list,因为简单,就是“等于”不喜欢range,是因为less than()里的那个时间需要通过day_id转换为时间获取,并且再转回为varchar,繁琐但是我想听听更多大虾的意见
沒有說那個更好,只有哪個跟適合。我覺得你的情況更適合用range,要不然1年365天,你的分區要365個嗎?