关于hash分区

小新蜡笔 2015-01-28 03:14:16
现我有一张表数据量很大,需要清理14年5月份前的数据,如何对SYNC_RELATION_NO字段进行hash分区?

CREATE TABLE BIG_TABLE_T
(
SYNC_RELATION_NO NUMBER(10) NOT NULL,
SYNC_ACTION NUMBER(2) NOT NULL,
SYNC_WHERE VARCHAR2(1000 BYTE)
)
...全文
148 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
不写代码的钦 2015-01-28
  • 打赏
  • 举报
回复
按照你的说法不适合建hash分区,你要清理14年5月份前的数据,需要建立针对时间的 列表分区或者范围分区比较合适。 hash分区建表语句: CREATE TABLE BIG_TABLE_T ( SYNC_RELATION_NO NUMBER(10) NOT NULL, SYNC_ACTION NUMBER(2) NOT NULL, SYNC_WHERE VARCHAR2(1000 BYTE) ) partition by hash(SYNC_RELATION_NO ) partitions 9; (9代表9个分区,你需要分几个分区,就写成几个)
阳阳阳丶 2015-01-28
  • 打赏
  • 举报
回复
CREATE TABLE BIG_TABLE_T ( SYNC_RELATION_NO NUMBER(10) NOT NULL, SYNC_ACTION NUMBER(2) NOT NULL, SYNC_WHERE VARCHAR2(1000 BYTE), SYNC_DATE DATA ) partition by range (SYNC_DATE) subpartition by hash (SYNC_RELATION_NO) subpartitions 3 store in (dinya_space07,dinya_space08,dinya_space09) (partition date1 values less than (to_date('20130501','YYYYMMDD')), partition date2 values less than (to_date('20140501','YYYYMMDD')), partition date3 values less than (maxvalue) ); 如果非要HASH分区并且你还要区分时间段的话 可以创建为复合分区 也就是子分区 小弟也是刚学不知道写错没有 大概就是这样
lyangsoft 2015-01-28
  • 打赏
  • 举报
回复
引用 1 楼 u012355452 的回复:
 CREATE TABLE BIG_TABLE_T
(
    SYNC_RELATION_NO    NUMBER(10)                NOT NULL,
    SYNC_ACTION         NUMBER(2)                 NOT NULL,
    SYNC_WHERE          VARCHAR2(1000 BYTE)
)
PARTITION BY HASH (SYNC_RELATION_NO)
(
    Partition SYNC1,
    Partition SYNC2,
    Partition SYNC3
); 
散列分区 允许用户对不具有逻辑范围的数据进行分区 通过在分区键上执行HASH函数决定存储的分区 将数据平均地分布到不同的分区 散列分区语法: PARTITION BY HASH (column_name) PARTITIONS number_of_partitions; 或 PARTITION BY HASH (column_name) ( PARTITION part1 [TABLESPACE tbs1], PARTITION part2 [TABLESPACE tbs2], ... PARTITION partN [TABLESPACE tbsN]);
lyangsoft 2015-01-28
  • 打赏
  • 举报
回复
 CREATE TABLE BIG_TABLE_T
(
    SYNC_RELATION_NO    NUMBER(10)                NOT NULL,
    SYNC_ACTION         NUMBER(2)                 NOT NULL,
    SYNC_WHERE          VARCHAR2(1000 BYTE)
)
PARTITION BY HASH (SYNC_RELATION_NO)
(
    Partition SYNC1,
    Partition SYNC2,
    Partition SYNC3
); 
【SCI复现】基于纳什博弈的多微网主体电热双层共享策略研究(Matlab代码实现)内容概要:本文研究基于纳什博弈理论的多微网主体电热双层共享策略,通过构建双层优化模型实现多微网系统间的电能与热能协同调度与资源共享。上层模型以各微网主体为独立参与者,基于纳什博弈框架优化自身利益,下层模型则考虑能源耦合关系与网络约束,实现系统整体能效优化。研究采用Matlab进行代码实现与仿真验证,复现了SCI级别研究成果,涵盖模型构建、博弈均衡求解、能量共享机制设计等关键环节,有效提升了多微网系统的经济性与能源利用效率。; 适合人群:具备一定电力系统、博弈论及优化算法基础,从事能源互联网、微电网调度、综合能源系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于多微网系统中电热协同优化调度策略的设计与仿真;②支撑纳什博弈在能源共享场景中的建模与求解实践;③为综合能源系统中主体间利益协调与资源分配提供理论参考与代码实现范例; 阅读建议:建议结合Matlab代码深入理解双层模型的实现逻辑,重点关注博弈均衡的求解过程与收敛性分析,同时可拓展至其他多主体能源系统应用场景进行二次开发与验证。

17,380

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧